Wix 安装程序在安装失败并出现错误 2896 后执行程序

Wix Installer Execute Program after installation failing with error 2896

我查看了所有 SO 问题和一系列其他问题,但找不到答案。

安装后我有一个 运行 的可执行文件:

<Property Id="WixShellExecTarget" Value="#filUpgrader" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="no" />

安装后总是 运行(不需要复选框)

<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">1</Publish>

我已经尝试了所有我能想到的方法来完成这项工作(它是在以前的化身中模仿)。无论我做什么,它似乎都给我这个:

Action 14:30:46: LaunchApplication. 
Action start 14:30:46: LaunchApplication.
MSI (c) (38:0C) [14:30:47:026]: Invoking remote custom action. DLL: ***********\AppData\Local\Temp\MSI395.tmp, Entrypoint: WixShellExec
Action ended 14:30:47: LaunchApplication. Return value 3.
MSI (c) (38:E4) [14:30:47:111]: Note: 1: 2205 2:  3: Error 
MSI (c) (38:E4) [14:30:47:123]: 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, , 
Action ended 14:30:47: ExitDialog. Return value 3.

(我已将本地文件路径加星号)。我认为问题是它需要提升权限,但现在不再是这样了。当我 运行 安装目录中的应用程序时,它 运行 没问题,不需要管理员权限或其他任何东西。

这真让我恼火。我有另一个具有相同问题的安装,但这是其中更直接的一个。如果我能让这个工作,我应该能够解决另一个问题。但是我开始对 Wix 失去信心了。

如果该值应该引用一个文件,它需要放在方括号中以便解析为实际路径,如此处的文档示例中的第 3 步:

http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html

希望这是您正在安装的文件之一。