Экшены - это действия, котоорые выполняются в процессе инсталляции. По своей сути они представляют собой функции, которые и руководят процессом установки от копирования файлов и записей в реестре до сложных пользовательских функций. Существуют как встроенные экшены инсталлятора, например 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-разметка.
 
Комментариев нет:
Отправить комментарий