WiX CLR CustomAction иногда не удается войти - PullRequest
1 голос
/ 07 декабря 2011

В моих проектах WiX у меня есть два пользовательских действия в одной и той же DLL.Оба написаны на C #.

Первый перечисляет, какие IIS-сайты доступны на машине.Он запускается перед диалоговыми окнами установщика Windows.

Второй запускается после диалогового окна «выбрать какой веб-сайт», т. Е. В диалоговом потоке в результате нажатия «Далее».Первый хорошо записывается в MSI-файл журнала.
Второй вообще ничего не записывает.

Почему я не могу записать свой журнал действий во время диалоговой части?(Остальная часть диалогового окна ведется как обычно.)
Что я могу сделать, чтобы включить эту запись?

Ответы [ 2 ]

2 голосов
/ 08 декабря 2011

Пользовательские действия не могут записываться в журнал MSI, когда они вызываются с помощью управляющего события DoAction. Это ограничение MSI.

0 голосов
/ 08 декабря 2011

Это проблема с разрешениями.

Перечисление веб-сайта IIS требует прав администратора, поэтому первое настраиваемое действие выполняется в процессе с повышенными правами. Ваше второе настраиваемое действие выполняется в процессе без повышенных прав, поэтому у него недостаточно разрешений для записи в журнал.

Если вы создаете журнал в расположении для каждого пользователя, например на рабочем столе текущего пользователя, второе действие будет успешно записано в журнал.

Решением является использование повышенного процесса для второго настраиваемого действия. Другое решение - всегда создавать журнал в расположении для каждого пользователя.

...