Можно ли узнать, устанавливает ли / устанавливает / обновляет / удаляет установщик пользовательское действие? - PullRequest
1 голос
/ 18 ноября 2009

Можно ли узнать, устанавливает ли / устанавливает / обновляет / удаляет установщик пользовательское действие?

Мы создали dll Custom Action в C #, и было бы интересно, если бы мы могли обнаружить, что делает установщик. В документах WiX xml вы можете использовать «Не установлено», «УДАЛИТЬ» и т. Д. (См. Этот хороший обзор ). Но возможно ли получить доступ к этим переменным в пользовательском действии?

Мы попытались передать переменную в пользовательское действие, но это просто дает нам переменную со строковым значением, например «Not Installed», вместо «true» или «false».

Ответы [ 3 ]

1 голос
/ 24 ноября 2009

Вы можете ссылаться на свойство ACTION .

Пользовательское действие в Javascript может получить такое свойство;

var installAction = Session.Property("ACTION");

Возможные значения: INSTALL, ADVERTISE или ADMIN.

Если это не сработает, я готов поспорить, одно из других встроенных свойств удовлетворит.

0 голосов
/ 10 февраля 2010

Хм, мы закончили тем, что сделали две точки входа в настраиваемом действии и проверили в файлах de wxs, какую мы должны вызвать. Не так, как мы хотели, но сейчас это работает.

0 голосов
/ 19 ноября 2009

Я предполагаю, что вы используете DTF. Запланировано ли ваше пользовательское действие для немедленного или отложенного выполнения?

Для немедленного использования вы можете использовать сеанс ["Установлено"], чтобы получить доступ к свойству самостоятельно. Для отсрочки вам придется использовать шаблон CustomActionData для сериализации / десериализации данных самостоятельно.

Также я обычно не использую эти свойства в любом случае. Я склонен использовать состояния действий компонента и / или функции, чтобы связать мое настраиваемое действие с частью установленного приложения. Это обеспечивает хорошее поведение при выполнении операций обслуживания, таких как добавление и удаление компонента.

...