wix安装运行应用程序后,CMD窗口保持打开状态
使用Wix安装程序(win 8),我有一个自定义操作,在成功安装后使用Wix运行应用程序:wix安装运行应用程序后,CMD窗口保持打开状态,cmd,wix,custom-action,Cmd,Wix,Custom Action,使用Wix安装程序(win 8),我有一个自定义操作,在成功安装后使用Wix运行应用程序: <CustomAction Id='LaunchFile' Directory='TARGETDIR' Impersonate="no" Execute="immediate" ExeCommand='[SystemFolder]cmd.exe start CMD /c ""[TARGETDIR]ManagerAndCon
<CustomAction Id='LaunchFile'
Directory='TARGETDIR'
Impersonate="no"
Execute="immediate"
ExeCommand='[SystemFolder]cmd.exe start CMD /c ""[TARGETDIR]ManagerAndControl.exe""'
Return="asyncNoWait" />
填写此处丢失的内容像这样编辑您的命令
> ExeCommand='[SystemFolder]cmd.exe start CMD /c ""[TARGETDIR]ManagerAndControl.exe"" & exit'
编辑
> ExeCommand='"[TARGETDIR]ManagerAndControl.exe"'
我刚刚试过这个,在我重新创建了你原来的问题之后,它就起作用了。但是,在您有[TARGETDIR]的地方,我使用[INSTALLDIR]——我假设这是引用您的安装目录。您需要注意使用倒逗号。请改用“安静执行自定义操作”
更新:
我必须更新我的答案。您应该使用WixShellExec自定义操作。它的工作原理非常类似于静默执行CA,但它允许您无需等待应用程序关闭即可启动应用程序
但是,它只能用作即时自定义操作
这里有一个您需要的实现的完整示例:
谢谢你的帮助,我终于解决了:
<Property Id="WixShellExecTarget" Value='[TARGETDIR]ManagerAndControl.exe' />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
<!-- UI code here -->
<Publish Event='DoAction' Value='LaunchApplication'>(NOT Installed) AND (LAUNCHPRODUCT = 1)</Publish>
(未安装)和(LAUNCHPRODUCT=1)
它不工作:)。正如我所说,cmd正在关闭,但应用程序也正在关闭。我刚刚修改了我的答案-我相信这是可行的。在重新创建了你的原始版本后,我刚刚在我的安装中试用了它。嗨,它不起作用了。请看我编辑的问题。
> ExeCommand='[SystemFolder]cmd.exe start CMD /c ""[TARGETDIR]ManagerAndControl.exe"" & exit'
> ExeCommand='"[TARGETDIR]ManagerAndControl.exe"'
<Property Id="WixShellExecTarget" Value='[TARGETDIR]ManagerAndControl.exe' />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
<!-- UI code here -->
<Publish Event='DoAction' Value='LaunchApplication'>(NOT Installed) AND (LAUNCHPRODUCT = 1)</Publish>