我已经查看了所有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失去信心。
答案 0 :(得分:3)
如果该值应该引用文件,则它需要放在方括号中,以便它解析为实际路径,如此处的文档示例中所示,步骤3:
希望这是您正在安装的文件之一。