我想执行我的.exe文件,该文件显示MessageBox
并在单击确定后退出。 CustomAction
应在安装完成后执行,但在显示Finish
对话框之前执行。问题是,我无法设置主安装程序窗口等待单击确定按钮(Finish
对话框直接显示,因此主窗口可以完全关闭而无需单击确定按钮)。
WiX工具集版本:v3.10
产品源代码:
<Property Id="WixShellExecTarget" Value="[#ExeId]" />
<InstallExecuteSequence>
<Custom Action="LaunchExe" After="InstallFinalize" />
</InstallExecuteSequence>
<CustomAction Id="LaunchExe" BinaryKey="WixCA" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" />
组件源代码:
<Component Id="ExeId" Directory="APPLICATIONFOLDER" Guid="*">
<File Id="ExeId" Source=".\ExeName.exe" KeyPath="yes" Checksum="yes" />
</Component>
答案 0 :(得分:2)
好的我管理好了。结果代码是:
<InstallExecuteSequence>
<Custom Action="LaunchExe" Before="InstallFinalize">NOT Installed AND NOT REMOVE</Custom>
</InstallExecuteSequence>
<CustomAction Id="LaunchExe" FileKey="ExeId" ExeCommand="" Execute="deferred" Return="check" Impersonate="no" />
请注意,必须添加NOT Installed AND NOT REMOVE
条件,因为Windows无法卸载该应用程序。