windows – 如何在使用WIX卸载期间避免“应关闭以下应用程序”消息?

我尝试使用WIX编写MSI安装程序.在卸载过程中,我需要运行一个专门的自定义操作,首先停止我的服务,然后关闭应用程序.我使用以下标记在InstallInitialize事件之后执行此操作:

<CustomAction Id='myCustomAction' BinaryKey='myDll' DllEntry='msiUninstallInitialize' Execute='deferred' Impersonate='no' />

<InstallExecuteSequence>
    <Custom Action='myCustomAction' After='InstallInitialize'></Custom>
</InstallExecuteSequence>

问题是,如果我的应用程序的先前版本在我尝试使用我的MSI升级到较新版本之前运行,我会收到一条Restart Manager弹出此消息:

然后这一个

为了阻止它,我添加了以下属性

<Property Id="MSIRESTARTMANAGERCONTROL" Value="disable" />

但现在卸载程序显示此窗口:

所以我很好奇,如果我的应用程序正在运行,有没有办法禁用检查(我会在自定义操作处理期间自己关闭它)?

解决方法

您已禁用与Windows Installer的重新启动管理器交互,因此现在Windows Installer将回退到其旧行为FileInUse对话框. MSIRESTARTMANAGERCONTROL Property记录了此行为.

我从来没有尝试过,但理论上说你可以隐藏你的FilesInUse对话框(Dialog / @ Hidden =’yes’)以使对话框不显示.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...