Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 178
Благодарности: 25

Профиль | Сайт | Отправить PM | Цитировать


Что-то меня на статьи потянуло Поделюсь, как сделать тихую инсталляцию Download Master своими руками.
Во-первых, идем на сайт Inno Setup и качаем Open Source инсталлятор (исходники не понадобятся). На этом же сайте в разделе сторонних утилит находим сайт с программкой Inno Setup Unpacker. Для примера возьмем dmaster.exe версии 5.5.2.1117.
1. Распаковываем дистрибутив в папку С:\DMast:
Код: Выделить весь код
innounp.exe -x -dС:\DMast dmaster.exe
Содержимое папки С:\DMast:
Код: Выделить весь код
{app}
{tmp}
install_script.iss
2. Открываем файл install_script.iss в Inno Setup Script Editor. Чтобы понять, как им пользоваться, даже справку читать не обязательно, хотя она очень подробная
3. Удаляем ненужные вам файлы из дистрибутива, не забывая одновременно вносить правки в install_script.iss в секцию [Files]. Рекомендую сразу вставить пропущенную строку в секции [Setup]:
Код: Выделить весь код
DefaultGroupName=Download Master
4. Вручную править строки реестра в скрипте смысла нет, проще установить Download Master, настроить его и сохранить содержимое ветки [HKEY_CURRENT_USER\Software\2VG\Download Master] в файл twk.reg. Из этого файла для универсальности нужно удалить все ключи, в которых встречаются абсолютные пути (они все равно создадутся при первом запуске). Чтобы при первом запуске появился диалог выбора соединения, пропишите "ConnectionType"="0" (но не удаляйте совсем, иначе dmaster сбросить все остальные настройки в default). Также можно удалить настройки, отвечающие за отображение и размер панелей, пусть перезапишутся дефолтовыми значениями. В общем фантазия почти ничем не ограничивается (если переборщите с удалением ключей, dmaster в крайнем случае сбросит все настройки в default).
5. Убираем лишнее в install_script.iss, например содержимое секции [Run], где запускается по окончанию dmaster и регистрируется DMPanel, убираем иконку в QuickLaunch, убираем возможность отключения создания иконки на рабочем столе. В общем редактируем под себя, не для распространения
6. Секцию [Run] еще не удалили? Тогда помещаем в twk.reg в корень дистрибутива, добавляем в секцию [Files]:
Код: Выделить весь код
Source: "twk.reg"; DestDir: "{app}";
и в секцию [Run] что-то типа (пишу по памяти, так как скрипт только что случайно стер ):
Код: Выделить весь код
Filename: "regedit"; Parameters: "/s twk.reg"; WorkingDir: "{app}";
Filename: "cmd"; Parameters: "/c del twk.reg"; WorkingDir: "{app}"; Flags: runhidden;
Все это приведет к тому, что файл twk.reg распакуется в папку с dmaster, и после установки применится и сотрется.

Если вы хотите, чтобы твики применялись по выбору пользователя, boss911 предлагает размещать twk.reg не внутри дистрибутива, а снаружи. Очевидно нужно внести правки в скрипт (в секции [Files] и [Run]). Удалять twk.reg уже не нужно, остается только одна строка:
Код: Выделить весь код
Filename: "cmd"; Parameters: "/c if exist twk.reg start /wait regedit /s twk.reg"; WorkingDir: "{src}"; Flags: runhidden;
В оригинале, Download Master при деинсталляции не удаляет данные из реестра, это легко поправить, внеся изменения в скрипт в секции [UninstallRun]:

Код: Выделить весь код
Filename: "reg"; Parameters: "delete ""HKCU\Software\2VG\Download Master"" /f"; Flags: runhidden;
или воспользоваться возможности InnoSetup по рецепту boss911 (секция [Registry]):
Код: Выделить весь код
Root: HKCU; Subkey: "Software\2VG\Download Master"; ValueType: none; Flags: uninsdeletekey dontcreatekey
Для желающих удалить любые упоминания о DM после деинсталляции, можно посоветовать удалить конфигурационые файлы (папки "Download Master" в %programfiles% и %userprofile%\Application Data").

Да, вовремя я стер скрипт, вроде писать больше нечего Зато попутно выяснил недостаток этого способа: автор innounp.exe не поспевает за новыми версиями innosetup, на только что сделанный мной dmaster.exe ругается "не могу распаковать, новая версия innosetup, еще не поддерживается".

Вот собственно и все, нажимаем Build и получаем новый dmaster.exe, без ключей – обычная установка, но количество кликов значительно меньше. С ключом -verysilent – совершенно тихая установка без побочных эффектов.

PS Для сравнения, первоначальный вариант весил 5008 кб, пересобранный - 3379 кб.

-------
AY-3-8910/AY-3-8912/YM2149F Homepage


Последний раз редактировалось Bulba_S, 06-01-2008 в 05:33. Причина: добавил замечание по поводу опциональности твиков, очистке реестра и удалению папок после деинсталляции


Отправлено: 14:15, 04-01-2008 | #11