Экшены - это действия, котоорые выполняются в процессе инсталляции. По своей сути они представляют собой функции, которые и руководят процессом установки от копирования файлов и записей в реестре до сложных пользовательских функций. Существуют как встроенные экшены инсталлятора, например LunchCondition, который осуществляет проверку условий установки, так и CustomActions - пользовательские функции, расширяющие возможности инсталлятора. Существует несколько типов custom-экшенов, подходящих для разных нужд разработчика. Ниже я постарался перечислить все типы экшенов, присутствующих в Wix 3. Данная информация может быть использована как памятка при выборе типа экшена для определенной задачи.
Type 1 – вызов функции из dll, dll находится в таблице Binary инсталляционного пакета.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
BinaryKey="" – id библиотеки в таблице Binary
DllEntry="" – имя вызываемой функции
/>
Type 2 – запуск исполняемого exe-файла, exe находится в таблице Binary инсталляционного пакета.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
BinaryKey="" – id файла в таблице Binary
ExeCommand="" – передаваемые параметры командной строки
/>
Type 5 – запуск скрипта Java, файл JavaScript находится в таблице Binary инсталляционного пакета.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
BinaryKey="" – id файла скрипта в таблице Binary
JScriptCall="" – имя вызываемой функции
/>
Type 6 – запуск скрипта VisualBasic, файл VBScript находится в таблице Binary инсталляционного пакета.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
BinaryKey="" – id файла скрипта в таблице Binary
VBScriptCall="" – имя вызываемой функции
/>
Type 17 – вызов функции из dll, dll является устанавливаемым файлом.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
FileKey="" – id библиотеки в таблице файлов
DllEntry="" – имя вызываемой функции
/>
Type 18 – запуск исполняемого exe-файла, exe является устанавливаемым файлом.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
FileKey="" – id файла в таблице файлов
ExeCommand="" – передаваемые параметры командной строки
/>
Type 19 – отображение сообщения об ошибке, завершение инсталляции.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Error="" – текст сообщения об ошибке
/>
Type 21 – запуск скрипта Java, файл JavaScript является устанавливаемым файлом
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
FileKey="" – id файла скрипта в таблице файлов
JScriptCall="" – имя вызываемой функции
/>
Type 22 – запуск скрипта VisualBasic, файл VBScript является устанавливаемым файлом.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
FileKey="" – id файла скрипта в таблице Binary
VBScriptCall="" – имя вызываемой функции
/>
Type 34 – запуск исполняемого exe-файла, определяемого директорией, в которой расположен файл и командной строкой для запуска.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Directory="" – id директории в таблице Directory, в которой располагается exe
ExeCommand="" – командная строка для запуска приложения
/>
Type 35 – установка физического пути для элемента Directory инсталляционного пакета.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Directory="" - id директории в таблице Directory
Value="" – новое значение пути (форматируемая строка)
/>
Type 37 – запуск скрипта Java, скрипт написан непосредственно в CustomAction
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Script="jscript">
< ![CDATA[< !—здесь находится текст скрипта -- >\]]>
< /customaction>
Type 38 – запуск скрипта Visual Basic, скрипт написан непосредственно в CustomAction
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Script=" vbscript">
< ![CDATA[< !—здесь находится текст скрипта -- >\]]>
< /customaction>
Type 50 – запуск исполняемого exe-файла, exe уже существует на целевой системе. Exe задается через Property.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Property="" – Property, определяющее имя exe-файла
ExeCommand="" – параметры командной строки, передаваемые приложению
/>
Type 51 – установка значения Property.
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
Property="" – id изменяемого Property
Value="" – новое значение (не должно содержать других Property)
/>
Type 53 – запуск скрипта Java, скрипт хранится в Property
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
JScriptCall="" – имя вызываемой функции
Property="" – id Property, хранящей текст скрипта
/>
Type 54 – запуск скрипта Visual Basic, скрипт хранится в Property
Объявление в тегах Wix:
< CustomAction
Id="" – id экшена
VBScriptCall="" – имя вызываемой функции
Property="" – id Property, хранящей текст скрипта
/>
С внедрением в Wix инструмента DTF стал доступен запуск экшенов из .NET сборки. Как создать соответствующую сборку можно поглядеть в примерах в интернете, а объявление такого экшена в Wix имеет вид аналогичный экшенам для dll-библиотек (например type 1).
P.S. пробелов после открывающихся скобок быть не должно - поставлены, чтобы не воспринимались как html-разметка.
Комментариев нет:
Отправить комментарий