inv*_*nva 9 installation installer wix
我有点痛苦.我有安装程序安装并启动托盘图标应用程序(常见的.exe)
这工作正常,但现在我想在此UI之前停止该应用程序,告诉用户手动关闭应用程序,因为在卸载例程期间,我的托盘图标被删除但进程仍在运行.
我在卸载之前(甚至在执行期间)应用此自定义操作来关闭应用程序
<CustomAction Id="CloseTrayApp" ExeCommand="-exit" FileKey="TrayApp" Execute="immediate" Return="asyncNoWait" />
<InstallExecuteSequence>
<Custom Action="CloseTrayApp" Before="InstallValidate" />
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)
但是"关闭所有正在运行的应用程序"对话框仍然会弹出,但我认为这将解决我的问题.
我已经尝试使用CloseAction但是由于编译时的错误而我急于使用它.它说WixUtils名称空间可能会丢失,但我仔细检查它是否存在:
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
Run Code Online (Sandbox Code Playgroud)
如何避免弹出对话框窗口并触发执行此自定义操作?
您还必须添加对WixUtilExtension.dll的引用.如果您使用的是Visual Studio/Votive,只需右键单击"添加引用",然后从[ProgramFilesFolder] Windows Installer XML v3.5\bin中选择DLL.否则,您必须使扩展可用于编译器和链接器:
candle.exe yourfile.wxs -ext %full path to WixUtilExtension.dll%'
light.exe yourfile.wixobj -ext %full path to WixUtilExtension.dll% –out yourfile.msi yourfile.wixout'
Run Code Online (Sandbox Code Playgroud)
更多信息可在以下网址找到:
请注意,CloseApp自定义操作有一个限制,即它不会"终止"您的应用程序.它只会礼貌地向您的应用发送WM_CLOSE消息,并由您的trayapp接收并处理该消息并关闭.
| 归档时间: |
|
| 查看次数: |
9351 次 |
| 最近记录: |