* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Редактор нестандартных действий
8 февраля 2009
Технология нестандартных действий (custom actions) обеспечивает поддержку до- полнительных возможностей для программ установки. Редактор нестандартных дей- ствий позволяет добавить код, выполняемый в процессе установки. Этот код вызы- вается в ответ на одно из четырех событий, генерируемых программой установки, - Install, Commit, Rollback или Unmstall. Событие Install генерируется после копирова- ния файлов, но перед подтверждением завершения установки. Событие Commit ге- нерируется после подтверждения завершения установки на целевом компьютере. Действия, заданные для события Rollback, выполняются в случае неудачи установ- ки и включают отмену (откат) изменений, внесенных программой установки. На- конец событие Unmstall генерируется при выборе удаления приложения. Редактор нестандартных действий позволяет привязать код к этим событиям.
Любой код может быть исполнен как нестандартное действие. Чтобы создать не- стандартное действие, в окне редактора щелкните правой кнопкой требуемое со- бытие и выберите из контекстного меню команду Add Custom Action — откроется диалоговое окно Select Item In Project. В этом окне можно назначить действию ка- кой-либо элемент проекта — в результате созданное нестандартное действие, пред- ставляющее заданный элемент проекта, добавляется к проекту установочной про- граммы. Свойства нестандартного действия (таблица 10-2) настраивают через окно Properties. Таблица 10-2. Свойства нестандартного действия Имя Описание (Name) Arguments Condition CustomActionData Entry Point InstallerClass SourcePath Отображаемое имя для данного нестандартного действия Передает параметры командной строки программе, реализующей нестандартное действие. Годится только для нестандартных дей- ствий, реализованных исполняемыми программами (.ехе-файлами) Позволяет задать логический оператор, вычисляемый перед выпол- нением нестандартного действия. Если оператор дает true, действие выполняется, в противном случае — нет. Заданный этим свойством оператор также может обрабатывать значения, полученные от пользователя через дополнительные диалоговые окна Передает программе, реализующей нестандартное действие, дополнительные данные Определяет имя метода нестандартного действия. Если это свойство не задано, вызывается метод, имя которого совпадает с именем события, срабатывание которого инициировало данное нестандартное действие (например, Install). Применимо только к нестандартным действиям, реализованным посредством DLL Хранит значение типа Boolean, указывающее, реализовано ли данное нестандартное действие в классе Installer. Если это так, его значение равно true, в противном случае — false Содержит полный путь (на компьютере разработчика) к файлу программы, реализующей нестандартное действие; доступно только для чтения > Создание нестандартного действия 1. Напишите, протестируйте и отладьте код, реализующий нестандартное действие, которое вы хотите добавить к проекту установочной программы. Затем в меню View выберите Editors\Custom Actions Editor, чтобы вызвать ре- дактор нестандартных действий. 2. Щелкните правой кнопкой событие, с которым следует связать нестандартное действие, и выберите команду Add Custom Action — откроется окно Select Item In Project. 3. Найдите и выберите созданный в пункте 1 файл с кодом, реализующий нестан- дартное действие. 4. В окне Properties настройте свойства для нового нестандартного действия.