Я создаю установщик двойного режима с флажком, позволяющим пользователю запускать приложение после установки.
При установке на всю машину (режим администратора) приложение запускается, как и ожидалось.
При установке только для пользователя (не в режиме администратора) приложение не запускается:
Action ended 9:04:52: LaunchApplication. Return value 3.
MSI (c) (F0:94) [09:04:52:151]: Note: 1: 2205 2: 3: Error
MSI (c) (F0:94) [09:04:52:151]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 2896
DEBUG: Error 2896: Executing action LaunchApplication failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: LaunchApplication, ,
Я посмотрел на этот вопрос , в котором есть та же ошибка, но у меня уже есть имя файла в квадратных скобках:
<Property Id="WixShellExecTarget" Value="[#FILE_SweetApp.WPF.exe]" />
Есть идеи?
Редактировать
Это соответствующий код:
<?define MyPath="$(var.SolutionDir)MyApp.WPF\bin\$(var.Configuration)"?>
<ComponentGroup Id="MyApp.WPF" Directory="APPLICATIONFOLDER">
<Component Id="MainExecutable" Guid="{my guid}">
<File Id="FILE_App.WPF.exe" Source="$(var.MyPath)\myapp.exe" />
</Component>
...
</ComponentGroup>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch app when setup exits." />
<Property Id="WixShellExecTarget" Value="[#FILE_App.WPF.exe]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
<UI>
<Publish Dialog="ExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT installed</Publish>
</UI>