我尝试使用 WIX 编写 MSI 安装程序。在卸载期间,我需要运行一个专门的自定义操作,首先停止我的服务,然后关闭应用程序。我InstallInitialize
使用以下标记在事件发生后执行此操作:
<CustomAction Id='myCustomAction' BinaryKey='myDll' DllEntry='msiUninstallInitialize' Execute='deferred' Impersonate='no' />
<InstallExecuteSequence>
<Custom Action='myCustomAction' After='InstallInitialize'></Custom>
</InstallExecuteSequence>
问题是,如果在我尝试使用我的 MSI 升级到较新的应用程序之前,我的应用程序的以前版本正在运行,我会收到重启管理器弹出此消息:
然后这个:
为了阻止它这样做,我添加了以下属性:
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" />
但现在卸载程序显示此窗口:
所以我很好奇,如果我的应用程序正在运行,有什么方法可以禁用检查(我会在我的自定义操作处理过程中自己关闭它)?