我试图在使用 Wix 卸载之前关闭一个进程。我已经确认,只要存在可见窗口,它就可以工作,但如果没有可见窗口(此应用程序大多数情况下都是这种情况,因为它是系统托盘应用程序),卸载程序就会挂起,并且最终继续卸载,使进程保持运行。
根据这个论坛帖子 http://sourceforge.net/mailarchive/message.php?msg_name=E66649032AD92B42901BF5835C76A27F51CC%40harwood.x2systems.com,看起来 Wix 过去在关闭最小化应用程序时遇到了问题,所以我想知道这是否相关?
关于我还能做什么来确保关闭该进程还有什么建议吗?有什么方法可以尝试使用 Win32 api 捕获我的应用程序中的消息吗?
这是 CloseApplication 声明:
<util:CloseApplication Id="CloseApp" CloseMessage="yes" Target="App.exe" RebootPrompt="yes" />
这是自定义操作:
<Custom Before="InstallInitialize" Action="WixCloseApplications">REMOVE = "ALL"</Custom>
您似乎正在安排WixCloseApplications
安装事务之前的自定义操作。自定义操作的工作方式是安排一个实际关闭应用程序的延迟操作。它不能完成这项工作,除非它发生在事务期间(After="InstallInitialize"
).
修复可能非常简单。去除Custom/@Action="WixCloseApplications"
元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)