如何在运行卸载程序之前自动停止应用程序?
问题描述:
在我的安装包中,我有一个允许停止我的主应用程序的工具。
我需要在卸载我的应用程序时自动运行此工具。
我创建了自定义操作并在InstallInitialize之前或之后启动它。
但它没有帮助。
消息“继续安装之前应关闭下列应用程序”仍然出现。
只有当我点击该对话框中的OK按钮时,脚本才会执行。
如何在通知之前开始自定义操作“在继续安装之前,应关闭以下应用程序”?如何在运行卸载程序之前自动停止应用程序?
InstallValidate之前的自定义停止操作由于某种原因没有帮助。这需要逼抢应用的
<InstallExecuteSequence>
<Custom Action='StopApplication' Before="InstallValidate"/>
</InstallExecuteSequence>
<CustomAction Id="StopApplication"
FileKey="stopServer.cmd"
ExeCommand=""
Execute="immediate"
Impersonate="yes"
Return="ignore" />
答
检测是由InstallValidate操作完成的,所以你需要有之前您的CA。 InstallInitialize太晚之后。这意味着它需要立即标记。
p.s. WiX有一个用于此的util CloseApp,可能适用于该应用程序。
InstallValidate之前的自定义操作没有帮助。请参阅更新。 – 2014-10-13 07:24:53
在InstallValidate是正确的位置之前,如果它不起作用,它可能无法运行或找到该cmd文件。您是否尝试过使用WiX CloseApp? – PhilDW 2014-10-13 15:51:24
我需要调用一些工具来正确地停止我的服务器。 – 2014-10-13 16:27:13