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

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

Аватара для volk1234

Старовер


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

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


Обновлено руководство по написанию аддонов.
+Пример 3. Разбор конструктора K-lite codek pack.


Пример 3. Разбор конструктора K-lite codek pack

читать дальше »
В данном примере рассмотрим устройство аддона-конструктора.
В основе аддона - возможность создания "тихой" установки 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 создан пустой 7zip SFX-архив
с командами установки в коментарии архива.

klite.exe
Код: Выделить весь код
RunProgram="hidcon:\"klmcp.bat\""
InstallPath="%SystemRoot%\\Temp\\KL"
GUIMode="2"
Delete="%SystemRoot%\\Temp\\KL"
Как видно ничего сложного, запускается коммандный файл в скрытом режиме, в качестве
папки источника для установки указана "%SystemRoot%\\Temp\\KL", куда на текстовом режиме
установки Windows , были скопированы необходимые файлы. Затем временная папка удаляется.

Это весь аддон. Как видно ничего сложного нет. Файлы установки лежащие в папке аддона
Files\ForceCopy можно заменять новыми версиями K-lite, по мере необходимости.
Можно спорить со способом реализации аддона выбранным автором, но аддон работает и это главное.

-------

Ю-ху!

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:44, 12-04-2008 | #108