В данном примере рассмотрим устройство аддона-конструктора. В основе аддона лежит возможность создания "тихой" установки K-lite с помощью ключа -unnatended, распознаваемого инсталлятором. После запуска установки с этим ключом происходит эмуляция установки с обычном набором диалоговых окон: выбор папки установки, выбор устанавливаемых кодеков. В результате мы получаем набор файлов для автоматической установки программы: klmcp.ini, klmcp.bat и сам дистрибутив, переименованый в klmcp.exe для краткости.
Автоустановка запускается через командный файл который состоит из одной строки, запускающей установку в "тихом" режиме и подключающей INI-файл с настройками:
@klmcp.exe /verysilent /norestart /dir="%ProgramFiles%\K-Lite Codec Pack" /LoadInf=".\klmcp.ini"
В принципе, приведенной информации достаточно для того, чтобы создать аддон типа SVCPACK, запаковав файлы Winrar в виде SFX архива с "тихим" запуском батника при распаковке.
Для создания же конструктора лучше сократить количество действий пользователя при его сборке. Автор аддона рассудил так же и решил создать комбинированный конструктор (Sysoc+svcpack). Посмотрим на структуру папок готового аддона:
KLiteMega
+Files
-+ForceCopy
--+SVCPACK
---klinst.exe - установка K-lite
--klmcp.bat
--klmcp.exe > файлы автоустановки K-lite
--klmcp.ini
--KLITE.IN_ - INF-файл для копирования файлов на текстовом этапе
-conflict
-dosnet
-Run
-sysoc
-txtsetup > конфигурационные файлы
-addon.nfo
На текстовом этапе файлы аддона копируются во временную папку %Windir%\Temp\KL:
Klite.inf
.....
[DestinationDirs]
klite.Copy=10,"Temp\KL"
[klite.Copy]
klmcp.bat,,,4
klmcp.exe,,,4
klmcp.ini,,,4
Фактически это все, что делается на текстовом этапе через Sysoc.
Установка кодеков происходит на Т13, для чего через Run создан пустой SFX-архив 7-zip с командами установки в коментарии архива.
Klite.exe
RunProgram="hidcon:\"klmcp.bat\""
InstallPath="%SystemRoot%\\Temp\\KL"
GUIMode="2"
Delete="%SystemRoot%\\Temp\\KL"
Как видно, ничего сложного в этом нет. Запускается командный файл в скрытом режиме, в качестве папки источника для установки указана "%SystemRoot%\\Temp\\KL", куда на текстовом режиме установки Windows были скопированы необходимые файлы. Затем временная папка удаляется. Это весь аддон. Файлы установки, лежащие в папке аддона Files\ForceCopy, можно заменять новыми версиями K-lite по мере необходимости.
Можно спорить со способом реализации аддона, выбранным автором, но аддон работает, и это - главное.
К содержанию