c00*_*0fd 6 windows windows-installer wix
我尝试使用WIX编写MSI安装程序.在卸载过程中,我需要运行一个专门的自定义操作,首先停止我的服务,然后关闭应用程序.我在InstallInitialize事件发生后使用以下标记来做到这一点:
<CustomAction Id='myCustomAction' BinaryKey='myDll' DllEntry='msiUninstallInitialize' Execute='deferred' Impersonate='no' />
<InstallExecuteSequence>
<Custom Action='myCustomAction' After='InstallInitialize'></Custom>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我的应用程序的先前版本在我尝试使用我的MSI升级到较新版本之前运行,我会收到一个重新启动管理器弹出此消息:

然后这一个:

为了阻止它,我添加了以下属性:
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" />
Run Code Online (Sandbox Code Playgroud)
但现在卸载程序显示此窗口:

所以我很好奇,如果我的应用程序正在运行,有没有办法禁用检查(我会在自定义操作处理期间自己关闭它)?
您已禁用与Windows Installer的重新启动管理器交互,因此现在Windows Installer将回退到其旧行为FileInUse对话框.MSIRESTARTMANAGERCONTROL属性记录了此行为 .
我从来没有尝试,但理论上说你可以隐藏(Dialog/@Hidden='yes')FilesInUse对话框以使对话框不显示.
| 归档时间: |
|
| 查看次数: |
5263 次 |
| 最近记录: |