WiX 工具集在安装后执行自定义操作并等待完成
WiX toolset execute custom action after installation and wait for completion
我想执行我的 .exe 文件,它显示 MessageBox
并在单击“确定”后退出。 CustomAction
应该在安装完成后,但在显示 Finish
对话框之前执行。问题是,我无法将主安装程序 window 设置为等待单击“确定”按钮(Finish
对话框直接显示,因此主 window 可以在不单击“确定”的情况下完全关闭按钮)。
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>
好的,我设法 运行 了。结果代码是:
<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 无法卸载应用程序。
我想执行我的 .exe 文件,它显示 MessageBox
并在单击“确定”后退出。 CustomAction
应该在安装完成后,但在显示 Finish
对话框之前执行。问题是,我无法将主安装程序 window 设置为等待单击“确定”按钮(Finish
对话框直接显示,因此主 window 可以在不单击“确定”的情况下完全关闭按钮)。
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>
好的,我设法 运行 了。结果代码是:
<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 无法卸载应用程序。