У меня есть следующий фрагмент WiX:
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<CustomAction Id="StartAppOnExit"
FileKey="Configurator.exe"
ExeCommand=""
Execute="immediate"
Impersonate="yes"
Return="asyncNoWait" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
Value="Configure initial settings" />
<UI>
<Publish Dialog="ExitDialog"
Control="Finish"
Order="1"
Event="DoAction"
Value="StartAppOnExit"
>WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
В основном в диалоговом окне выхода я отображаю окно с надписью: Запустить приложение. Примечание: это приложение требует повышения. Это все работает отлично, за исключением загвоздки. Если UAC включен, кажется, что MSI перебирает токен пользователя и удаляет его группы, поэтому, когда он пытается запустить приложение, требующее повышения прав, это больше не вариант.
Как мне связать это вместе для работы?
Я пытался бросить Impersonate = "no", но в этот момент уже слишком поздно, чтобы это сработало.