|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы |
|
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы
|
Ветеран Сообщения: 1576 |
Профиль | Отправить PM | Цитировать
Конструктор инсталляторов на основе модифицированного SFX модуля 7-Zip'а Довольно часто пользователи сталкиваются с необходимостью перепаковки дистрибутивов различных программ:
С другой стороны при выходе новой версии программы требуется пересобирать инсталлятор. Делать это удобнее с помощью запуска скрипта, который будет брать необходимую информацию из файла настроек, созданного заранее. Помимо этого скрипт должен считывать некоторую информацию из файлов программы (например версию программы) и изменять в соответствии с ней получаемый инсталлятор. Я не хочу устраивать "холливоры" на тему того, какой софт для создания инсталляторов лучше. Я хочу показать, как создавать полноценные инсталляторы на базе Модифицированного SFX модуля 7-Zip'а для установок от Oleg_Sch. Этот модуль в силу своей специфики имеет ряд ограничений, из-за которых нельзя добавить в получаемые инсталляторы некоторые функции (или делается это через одно место), доступные, например, в NSIS. С другой стороны синтаксис конфигурационного файла модуля довольно-таки несложный и этот файл достаточно просто получить из готового инсталлятора для изучения/корректировки. Давно известно, как создавать такие инсталляторы с помощью INF-файлов, но мне хотелось бы отказаться от них и использовать только сам модуль и встроенные в ОС средства (cmd, mshta, реестр). Итак, описание собственно конструктора: Перед началом работы необходимо создать папку SourceDir с файлами дистрибутива и положить рядом с ней файл настроек setting.ini и файл name.ico (name - задается в секции [SFX] файла setting.ini) с иконкой для инсталлятора. Файл setting.ini состоит из секций, в которых задаются параметры инсталлятора, пути для копирования/удаления файлов при установке, ключи реестра для добавления/удаления, параметры ярлыков и т.п. Синтаксис секций напоминает синтаксис секций INF-файлов. Все допустимые секцции с возможными параметрами приведены в файле settingSample.ini (папка !!!Tools) с комментариями. Также в папке !!!Tools есть файл Common.ini, в котором находятся настройки общие для всех создаваемых инсталляторов (перзаписываются настройками из файла setting.ini конкретного инсталлятора). Для создания инсталлятора запустите файл makeSFX7z.cmd из папки !!!Tools, указав в качестве параметра путь к папке с дистрибутивом программы. Для примера приведен дистрибутив архиватора 7-zip (положите папку 7z рядом с папкой !!!Tools и запустите файл make.cmd). Если запустить makeSFX7z.cmd из папки !!!Tools без указания пути к дистрибутиву, то будет создан тестовый инсталлятор Test.exe в паке !!!Tools. При запуске makeSFX7z.cmd с ключом saveconfig или при наличии в папке !!!Tools (для всех) или рядом с файлом setting.ini (для конкретного инсталлятора) файла с имнем saveconfig без расширения скомпилированный файл конфигурации будет сохранен в папке рядом с файлом setting.ini. !!!Внимание. Если при работе скрипта в консоле отображаются кракозябры. то в свойствах консоли требуется установить шрифт TrueType (Lucida Console, Consolas). Теперь подробнее о настройках и возможностях конструктора (также см. комментарии в settingSample.ini). В этой же теме я также буду выкладывать конструкторы для создания некоторых программ. Список:
История версий Скачать ЯДиск Скачать GoogleDrive |
|
------- Отправлено: 16:38, 06-02-2015 |
Старожил Сообщения: 390
|
Профиль | Отправить PM | Цитировать ya158, хотелось бы увидеть готовый инсталлятор со всеми возможностями например этого аддона. Ну или какой нибудь другой на Ваше усмотрение.
|
Отправлено: 14:31, 01-03-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1576
|
Профиль | Отправить PM | Цитировать Цитата masterchess:
Я постепенно перевожу свои инсталляторы на сабж. Вот думаю выкладывать их в этой теме. Пока занят Universal Extractor-ом. Для начала выложил конструктор для создания инсталлятора Ashampoo Uninstaller 4.3.0.0. Цитата:
|
||
------- Отправлено: 16:53, 01-03-2015 | #3 |
Ветеран Сообщения: 1576
|
Профиль | Отправить PM | Цитировать Новая версия
06.03.2015 v1.1 - Исправлена ошибка (неправильно обрабатывалась секция [AddString], [RunPreUninstall], [RunAfterInstall]). - Добавлена возможность создания ярлыков в контекстном меню "Отправить". - Добавлена возможность при наличии рядом с файлом setting.ini файла end_of_cfg.txt добавить его содержимое в конец создаваемого файла конфигурации. - Изменение шапки. |
------- Отправлено: 01:21, 06-03-2015 | #4 |
Ветеран Сообщения: 1576
|
Профиль | Отправить PM | Цитировать Конструктор Universal Extractor - программы, предназначенной для извлечения файлов из архивов, инсталляторов, упаковщиков, образов и т.д.
Более подробный список можно увидеть на оффсайте Здесь есть информация, что оригинальная программы не будет больше развиваться, так как автор больше не использует Windows. Последняя оригинальная версия 1.6.1 (12.05.2010). Я решил вести свою нумерацию версий - начал с 1.6.1.1000 в этой теме. Universal Extractor в дальнейшем я буду поддерживать не в виде аддона, а в виде конструктора для создания инсталлятора. Ключи командной строки /help, /h, /?, -h, -? - вывод справочной информации о ключах командной строки /prefs, /p, -prefs, -p - вывод диалога "Настройки" UniExtract /lang /lang, /l /lang, -lang /lang, -l /lang - изменение языка интерфейса. /lang имя языкового файла *.ini filename - путь\имя извлекаемого файла destination - путь\имя папки для извлечения /sub - извлечение будет произведено в папку с именем извлекаемого файла При запуске Universal Extractor-а без параметров будет выведено основное окно программы с запросом об имени файла и папке для извлечения. История изменений после оригинальной версии 1.6.1 Дальнейшая история изменений после оригинальной версии 1.6.1 Расширенную версию Universal Extractor-a можно найти на руборде. |
|
------- Последний раз редактировалось ya158, 03-03-2017 в 13:51. Отправлено: 01:47, 06-03-2015 | #5 |
Ветеран Сообщения: 1861
|
Профиль | Отправить PM | Цитировать ya158, В Common.ini опечатка:
Цитата:
|
|
Отправлено: 16:55, 09-03-2015 | #6 |
Ветеран Сообщения: 1576
|
Профиль | Отправить PM | Цитировать Цитата Ж.Д.А.Л.К.Е.Р.:
Цитата Ж.Д.А.Л.К.Е.Р.:
Новая версия 10.03.2015 v1.2 - Добавлена возможность добавлять/удалять записи реестра при установки/удалении программы в зависимости от разрядности ОС (см. settingSample.ini). |
||
------- Последний раз редактировалось ya158, 10-03-2015 в 09:41. Отправлено: 22:29, 09-03-2015 | #7 |
Ветеран Сообщения: 1861
|
Профиль | Отправить PM | Цитировать ya158, Да. Написал заметку, там все описано.
|
Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 10-03-2015 в 15:12. Отправлено: 14:08, 10-03-2015 | #8 |
Ветеран Сообщения: 1576
|
Профиль | Отправить PM | Цитировать Ж.Д.А.Л.К.Е.Р.,
Мне надо считать данные из исполнительного файла в перемнные, кот. потом используются в батнике. Помимо этого эти и другие данные записываются в sfx-модуль. В случае rt_version.exe это именно так и делается. В случае 7zsdrc.exe, насколько я понял, надо считать в файл, потом прочитать из этого файла, записать обратно в файл и применить этот файл к sfx-модулю. В принципе не особо сложно это сделать. Но чем это лучше использования rt_version.exe? |
------- Отправлено: 15:35, 10-03-2015 | #9 |
Ветеран Сообщения: 1861
|
Профиль | Отправить PM | Цитировать ya158, В целом правильно, кроме:
Цитата ya158:
7zsdrc.exe 7zsd_LZMA2_Cut-res.sfx -pv "5.22.0.0" -fv "5.22.0.0" -vs "ProductVersion=5.22" -vs "FileVersion=5.22" -vs "CompanyName=FinePrint Software, LLC" -vs "FileDescription=pdfFactory" -vs "LegalCopyright=Copyright (c) 2001-2015 FinePrint Software, LLC" -vs "ProductName=pdfFactory" -i 48.ico Цитата ya158:
Я только вчера узнал о существовании rt_version.exe и 7zsdrc.exe. И мне было интересно, что такого в rt_version.exe и можно ли обойтись только 7zsdrc.exe (свои простенькие скрипты по сборке утилит/Repack-ов на основе модифицированного модуля). |
||
Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 10-03-2015 в 16:37. Отправлено: 16:21, 10-03-2015 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Модифицированный SFX модуль 7-Zip'а для установок | Oleg_Sch | Автоматическая установка Windows 2000/XP/2003 | 2017 | 08-06-2024 08:01 | |
GUI для модифицированного 7-Zip SFX модуля для установок | hobbeat | Автоматическая установка Windows 2000/XP/2003 | 259 | 09-10-2016 07:01 | |
Project SFX Config - GUI для создания конфигураций модифицированного модуля 7zip | Medic84 | Автоматическая установка Windows 2000/XP/2003 | 79 | 14-04-2014 22:04 | |
CMD/BAT - [решено] 7-zip. Командная строка. Как изменить иконку sfx архива? | Centrinar | Скриптовые языки администрирования Windows | 1 | 01-08-2011 03:53 | |
Создание silent 7-zip sfx | mitiya | Автоматическая установка Windows 2000/XP/2003 | 17 | 01-03-2011 22:14 |
|