|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы |
|
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы
|
Ветеран Сообщения: 1575 |
Профиль | Отправить 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 |
Пользователь Сообщения: 91
|
Профиль | Отправить PM | Цитировать Как Вы все любите батники, файлы настроек. Напишите Гуи программу и народ Вам скажет Спасибо.
С таким уровнем владения знаний написания bat, любой язык программирования Вам по зубам. Многие задачи, решаются намного проще, в любом языке программирования, чем в bat... Такое впечатление от программы, как будто в мультике: Ежик в тумане... (все туманно) У SFX и так есть сценарий, так Вы еще свой навесили, со "своими" правилами... Не знаю... Может я слишком туп, для использования вашей программы... В общем, без обид. Желаю творческих успехов! В этом: http://rgho.st/6pbRFGRxt |
Отправлено: 12:23, 11-02-2017 | #121 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1575
|
Профиль | Отправить PM | Цитировать Да какие обиды...
Батник для меня понятен, т.к. по сути является алгоритмическим языком программирования. Другим не обучен - я ни разу не программист . Конструктор рождался из простого батника для создания SFX архива из готового конфигурационного файла, папки с программой и inf-файла для установки. Потом уже постепенно прикрепилось все остальное. Мысль написать ГУЙ у меня появлялась, но для этого я не осилю что-то сложнее AutoIt-а... Пока на эту задачку у меня совсем не стоИт... Цитата CryptoNick:
|
|
------- Отправлено: 12:36, 11-02-2017 | #122 |
Пользователь Сообщения: 91
|
Профиль | Отправить PM | Цитировать А разве это правильно???
http://s020.radikal.ru/i713/1702/98/bd9ed2fafef9.png |
Отправлено: 12:40, 11-02-2017 | #123 |
Ветеран Сообщения: 2183
|
Профиль | Отправить PM | Цитировать ya158, можешь поправить конструктор AkelPadBuilder_2.1, чтобы в контексте выделенного слова был поиск этого слова по всему тексту?
|
Отправлено: 12:47, 11-02-2017 | #124 |
Ветеран Сообщения: 1575
|
Профиль | Отправить PM | Цитировать CryptoNick,
Спасибо за найденную ошибку. Новая версия Конструктора 11.02.2017 v1.20 - Исправлена ошибка (неправильно обрабатывался параметр REgx64 - спасибо CryptoNick) Цитата sov44:
|
|
------- Отправлено: 21:38, 11-02-2017 | #125 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Цитата CryptoNick:
Цитата ya158:
ya158, так во всех ваших проектах это окно... Видео
|
||
Отправлено: 04:04, 26-02-2017 | #126 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата Valerkan
Цитата:
|
|
Отправлено: 22:35, 02-03-2017 | #127 |
Ветеран Сообщения: 1575
|
Профиль | Отправить PM | Цитировать Прошу прощения за долгий неответ - нахожусь в командировке
Новая версия Конструктора 03.03.2017 v1.21 - Добавлена возможность использовать для команд в секциях [RunPreInstall], [RunAfterInstall] префиксы waitall, forcenowait, nowait помимо x86, x64. - Изменен скрипт для закрепления файла на панели задач. Теперь данная операция возможна для систем с любыми локализациями (спасибо Flasher и Xameleon с Серого форума). - При предотвращении запуска на исполнение второй копии процесса установки теперь удаляется папка SfxVarApiPath в %TEMP%. - Исправлена ошибка (неправильно обрабатывалось нажатие кнопки "Отмена" при деинсталляции - спасибо CryptoNick и ValerkanValerkan). - Исправлена ошибка (неправильно отрабатывался скрипт, если в значениях параметров SourceDir или Name в секции [SFX] содержались пробелы). - Исправлена ошибка (неправильно обрабатывались параметры DoubleStart и BrokenInstall). В связи с новым Конструктором обновлены инсталляторы Новая версия Universal Extractor 1.6.1.1023 (03/03/2017)
|
------- Отправлено: 15:25, 03-03-2017 | #128 |
Пользователь Сообщения: 91
|
Профиль | Отправить PM | Цитировать ya158, Создай пустой тестовый проект... Что то в сценарии не то...
Может я и не прав, но по моему тут ошибка... Открыл другим редактором, все нормально, но все равно что то не то... После RunProgram="hidcon:cmd /c ECHO " два пробела (в конце строчки) 0A я так понимаю, переход на новую строку. 20 пробел |
Последний раз редактировалось CryptoNick, 08-03-2017 в 14:46. Отправлено: 14:31, 08-03-2017 | #129 |
Ветеран Сообщения: 1575
|
Профиль | Отправить PM | Цитировать CryptoNick,
Я не понимаю зачем смотреть hex-редактором. Попробуй в папке !!!Tools создать пустой файл с именем safeconfig (без расширения) или запусти makeSFX7z.cmd с ключом safeconfig - тогда получишь в папке !!!Tools файл конфигурации Test.txt. В этом файле увидишь: RunProgram="hidcon:cmd /c ECHO " ExecuteOnLoad="hidcon:cmd /c FOR /F \"Tokens=1,2 Delims=,\" %I IN ('\"TASKLIST /FO CSV|FINDSTR /ILC:\"%%M\"\"') DO SET /A N+=1&Set PID=%~J&FOR /F \"Tokens=*\" %k IN ('cmd /v:on /C IF !N! GTR 1 ECHO !PID!') DO mshta vbscript:close(CreateObject(\"WScript.Shell\").Popup(\"%DoubleStart%\",10,\"%NameProg% \"^&\" %ProgVer%\",16+262144))&RD /S /Q \"%SfxVarApiPath%\"&TASKKILL /F /T /PID \"%k\"" Команда нужна для сбора левых ключей командной строки. Да, после неё попадают два пробела (ну не отследил я ), но это ни на что не влияет. Если тебя это смущает, то удали в конце 155 строки файла makeSFX7z.cmd эти два пробела... |
------- Отправлено: 09:20, 09-03-2017 | #130 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Модифицированный SFX модуль 7-Zip'а для установок | Oleg_Sch | Автоматическая установка Windows 2000/XP/2003 | 2011 | 20-03-2024 11:07 | |
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 |
|