Page 6 of 7

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 2:29 pm
by CleverMouse
1. Интересно, кто же будет такую программу делать?
2. Интересно, как это связано с установкой на жёсткий диск, которую тоже требуют?
3. Я уже вижу гневные фразы "Установщик Колибри убил мою SD-карту!!!". MBR вообще-то есть не везде, на тех же SD-картах его чаще не бывает, чем бывает. В таких случаях setmbr.exe - в той или иной степени интегрированный в гипотетический установщик - просто затрёт бутсектор со всеми вытекающими последствиями.

ЗЫ: насчёт "не все программисты" я, конечно, соглашусь, но "не все идиоты" далеко от правды.

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 2:38 pm
by CleverMouse
И ещё:
4. Программа будет под все ОС сразу, Windows/Linux/Kolibri? Если нет, то я уже вижу запросы "опять недобитые виндузятники голову поднимают" / "отстойная неполноценная ОС, которая не в состоянии даже себя установить".
5. Программа будет анализировать, не установлен ли случайно на флешке lilo/grub/syslinux и если да, то добавлять себя в готовое меню?

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 3:45 pm
by Leency
Можно развивать inst эволюционным путём, не обязательно делать революции. Все вопросы решаемы.
Вообще это моё объяснение того, какую программу хотят пользователи. Они чего-то хотят, а сказать не могут, поэтому я постарался перевести. Делать или нет решать не мне - я в системном программировании пока не силён, если не полный 0.

4. пользователи Linux знают что и как делать :)

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 4:44 pm
by Aeol
3. Я уже вижу гневные фразы "Установщик Колибри убил мою SD-карту!!!".
Эвоно как! Чёртвозьми, без обид, но сколько уже можно беспокоиться о "бедных, несчастных" пользователях, которым программа убила жестак или флэшку? Волков боятся - в лес не ходить? Таким макаром не будет у нас никогда ни нормального установщика, ни менеджера разделов, ни записи на NTFS/extfs, ни тэдэ, ни тэпэ...
Безусловно, такие программы должны офигенски отлаживаться, проходить тщательный альфа-, бета- и прочий тестинг и только потом использоваться в повседневной работе и в настоящей системе.
З.Ы. Ну, а если диск убит по вине пользователя, то не надо, значить, париться - его проблемы.
З.З.Ы. Никого вышесказанным обидеть не хочу, ведь я и сам достаточно сталкивался с потерей очень важных для меня данных как из-за программ, так и по вине своей/других людей.

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 5:15 pm
by CleverMouse
Если пользователь сам старательно ввёл параметры fdisk'у и на удивлённый вопрос подтвердил, что да, он хочет убить все текущие разделы, то, безусловно, он ССЗБ. Но если пользователь запустил установщик, согласился со всеми умолчаниями и просто нажал кнопку "Установить", после чего его SD-карта перестала видеться системой как диск, то пользователь уже имеет вовсю жаловаться.
Aeol wrote:Безусловно, такие программы должны офигенски отлаживаться, проходить тщательный альфа-, бета- и прочий тестинг и только потом использоваться в повседневной работе и в настоящей системе.
Что возвращает нас к моему вопросу номер 1.
Leency wrote:4. пользователи Linux знают что и как делать
Это же не ответ. Пользователи Windows и сейчас знают, что и как делать, если потрудятся прочесть документацию. Но не хотят ведь. Кроме того, пользователи Колибри не знают, что и как делать.

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 6:41 pm
by GerdtR
CleverMouse, сейчас вот чиркаю нечто на Delphi(может в будущем переделаю на асм или с++, места меньше занимать будет). Итак моя идея такова: Так как у большинства Винда, то прога в именно для неё. Форматировать или переразбивать хард даже не будет предлагаться, но сразу юзеру будет сказано, что раздел в FAT32 должен быть(знаю, что звучит не очень, но думаю к расцвету Колибри запись на NTFS уже будет). Дальше прога определяет версию винды и либо запускает mtldr_install, либо сама поправляет нужные файлы(пока ещё не особо разбирался, но в дистрибутиве в HD_Load много интересного).
Теперь флешки. Всё упирается в inst.exe. Попробовал, работает, вопросов не возникло. Вот только SD-карты у меня нет и тестить с ними у меня нет возможности. Так что тут я без помощи никак. И, да ещё, будет возможность форматнуть флешку стандартной виндовой утилитой.
Вот пока довольно убого, скупо, но у везунчиков будет стоять Колибри, а у невезунчиков хотя бы ничего не сотрётся(если сам не на чудит).
С Линуксом у меня никак, потому тут тоже без помощи никак.

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 6:52 pm
by CleverMouse
GerdtR wrote:Всё упирается в inst.exe. Попробовал, работает, вопросов не возникло.
Image
На многих новых флешках только inst.exe недостаточно, нужен ещё setmbr.exe. Но на SD-картах setmbr.exe, скорее всего, разрушит файловую систему. Более того, можно создать флешку без MBR - на которой setmbr будет точно так же разрушать файловую систему - и SD-карту с MBR, на которой setmbr.exe будет тоже нужен.

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 7:00 pm
by GerdtR
Ну-с, у кого больше опыта? У самоучки, который 3-ий год программирует или у людей с высшим образованием и т.д. и т.п. Придумайте что-нибудь, а под одну оболочку я всё соберу. Тут моих знаний совсем не достаточно.

Re: Необходимость разработки инсталлятора

Posted: Mon Mar 04, 2013 9:04 pm
by Freeman
Во время доработки inst думалось, что можно было бы объединить ее с mtldr_install, определяя способ установки на целевой диск по присутствию ntldr в корне (или что там в Windows 7?). Виндовый загрузчик есть -- ставим как mtldr_install, нет -- ставим с загрузчиком FAT32. Только интерфейс придется подружелюбней сделать.

А любителям Linux установщик не нужен по определению. Сумели Linux самостоятельно поставить, смогут и "Колибри". Если будет единый установщик под Windows, внутри HD_load его можно положить в подкаталог Windows, а в подкаталог Linux положить readme, как того требует традиция. :)
CleverMouse wrote:GetOpenFileName создаёт несколько потоков для своих собственных нужд и не думает их завершать.
Спасибо за ревизию кода.

Re: Необходимость разработки инсталлятора

Posted: Wed Mar 06, 2013 5:18 am
by Freeman
По совету CleverMouse и по аналогии с mtldr_install добавил вызов ExitProcess. После копирования файла inst.exe больше в памяти не висит, ура. Тестируем, отписываемся.

Смущает лишь логика работы программы: нажатие кнопки "Отмена" в диалоге выбора образа означает отказ от копирования образа, но не загрузчика. Загрузчик ставится в любом случае, и после двойного клика по имени диска у пользователя нет возможности отказаться от установки. Так было в оригинале, но там не было диалога...

Re: Необходимость разработки инсталлятора

Posted: Wed Mar 06, 2013 12:40 pm
by VaStaNi
GerdtR wrote:сейчас вот чиркаю нечто на Delphi(может в будущем переделаю на асм или с++, места меньше занимать будет). Итак моя идея такова: Так как у большинства Винда, то прога в именно для неё.
GerdtR, дак ты тут форум читал? Или хотя бы начало ветки?
никому не нужная разработка инсталлятора (весьма отлаженный, филигранный ридер разделов любых физ. дисков для... удобного дружественного исталлятора...)
Ни винда ни тем более ИНСТАЛЛЯТОР не нужен ни пользователям ни активистам и ТУТ ЭТО НЕКОТОРЫЕ УЖЕ РЕШИЛИ за них и для них и где то 2 года назад (всего лишь).
И потом все уже сделано и давно и очень удобно! Что еще надо то?
Мало того, ты тоже "существенно опоздал"
можешь не напрягаться, особенно без практицизма в Delphi (==WinAPI) прямого доступа к дискам, особенно USB Flash, SD....
ну разве, что для (типа) курсач, дипломны, лабораторку.... в институт надо, таДы понятно.

Re: Необходимость разработки инсталлятора

Posted: Wed Mar 06, 2013 1:31 pm
by Leency
Freeman
Спасибо. Протестирую если всё хорошо всего заберу в KolibriN.

Re: Необходимость разработки инсталлятора

Posted: Wed Mar 06, 2013 2:41 pm
by GerdtR
VaStaNi, а что надо? В идеале, конечно, хотелось бы видеть диск, который воткнул в сидишник, нажал enter и ОС стоит, со всем ПО и с учётом существующих на компе осей. НО, нужна какая-то базовая ОС. Кого на диск ставить? MSDOS не подходит. Другие громадные и медленные, остаётся Колибри. Но и её возможностей тоже пока мало.
Установочные флешки - это хоть и интересно, но мало. Из моих 4х компов с флешки умеют грузиться только 2(и они не слишком древние. Один без проблем тянет WinXP). И ещё у знакомого такой есть.
А суть моей идеи - собрать все варианты установки в один визуально-красивый интуитивно-понятный пакет. Что бы любой, даже совсем ничего не знающий юзер смог поставить ОС и без восклицаний в стиле "куда делись мои фотки?". Т.е. если грубо говорить, то я не пишу прогу ставящую ОС. Я пишу прогу, запускающую те проги, которые поставят ОС. По отдельности уже очень много чего есть.
PS И чем Вам Dephi не нравится? С WinAPI я что-то проблем не заметил. Да и размер для винды почти не заметный.

Re: Необходимость разработки инсталлятора

Posted: Wed Mar 06, 2013 4:09 pm
by Freeman
GerdtR wrote:Я пишу прогу, запускающую те проги, которые поставят ОС.
Такой задачи нет.

Дано: у пользователя уже есть ОС -- из-под нее он скачал "Колибри".

Задачи:
  • Установка на тот же компьютер:
    • Из-под Windows.
    • Из-под Linux.
  • Установка на другой компьютер, в том числе старый и/или не имеющий ОС:
    • Из-под LiveCD или даже дискеты "Колибри".
    • Из-под другой компактной ОС -- на то время, пока под "Колибри" не появятся свои утилиты разбиения на разделы и форматирования.
По последнему пункту мне видится только вариант FreeDOS+HX, остальные превышают "Колибри" на порядок. Если осторожно, то под HX можно написать и на Delphi, а вызовы fdisk и прочего прописать в меню и командных файлах средствами самой FreeDOS. Поскольку возможности HX ограничены консольными программами, под него можно или даже нужно адаптировать Windows-программы, написанные на FASM. А если писать на FASM, почему бы не писать под "Колибри"?

Команда sys из FreeDOS позволяет задать и собственный загрузочный сектор, и имя файла загрузчика. То есть, задача разбиения дисков и установки на комп, не имеющий ОС, может быть решена средствами самой FreeDOS -- написанием нужных меню и сборкой дополнительного сервисного дистрибутива для такого случая. И даже HX не нужен.

Re: Необходимость разработки инсталлятора

Posted: Wed Mar 06, 2013 8:19 pm
by VaStaNi
GerdtR wrote:VaStaNi, а что надо? В идеале, конечно, хотелось бы видеть диск, который воткнул в сидишник, нажал enter и ОС стоит
это путь дебилов (куда нас в основном и ведут...) к словам Операционная Система (современное сердце РС, как минимум) не имеет смысла так думать.
GerdtR wrote:НО, нужна какая-то базовая ОС.
ты УЖЕ ответил выше. Даже слепой видит, что ДА! Рекламно-Маркетинговый ход для проекта, а не сопли "возюкаемые в местной песочнице..." - да это винда! И это стратегическое грамотное решние (было бы если бы было кому "болеть за проект") во всяком случае в данном временном срезе истории...
GerdtR wrote:Установочные флешки - это хоть и интересно, но мало. Из моих 4х компов с флешки умеют грузиться только 2
маркетолог-бизнесмен с тебя слабый, только без обид, пожалуйста!
1. зачем не думаешь о возможностях других, включая парк оборудования людей, которых ты и представитиь не можешь (не хочешь, не в силах...)
2. Очнись, ты меня можешь вполне назвать стариком, но даже я "слепой старик вижу" каков сейчас движняк в плане носителей инфы у молодняка (а это большой % всей массы) и наводящий вопрос, как на счет вирусов?
Активность антивирусных флешных решений говорит, что даже не интернет, а флешки безпрепятственно ТЫКАЕМЫЕ ВЕЗДЕ - очень серьезный ход инфе, включая такое ПО, как: ОС, браузеры, локальные среды, шифрация личной инфы, портабли.................
GerdtR wrote:И чем Вам Dephi не нравится? С WinAPI я что-то проблем не заметил. Да и размер для винды почти не заметный.
ты не понял... и наверное многого не понял.... обьяснять не буду. Скажу только, что приведенная прога написана ИНЕННО на DELPHI с использованием KOL... И проблемы. И проблемы ты, вероятно поймешь лишь потом. Стоит ли повторять пройденый (пропаханный) кем то путь, вот вопрос, который куда важнее...
Наверное, как впрочем и всегда в моих речах, в моих словах много стариковской философии, которую нужно переосмыслить, прежде чем бросать помидоры, но видимо не каждому дано учиться именно на чужих ошибках.
Меньше эмоций и амбиций - больше сути и смысла, пожалуйста.