WiX工具集在安装后执行自定义操作并等待完成

时间:2016-07-29 09:30:25

标签: xml wix windows-installer custom-action wix3.10

我想执行我的.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>

1 个答案:

答案 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无法卸载该应用程序。