在卸载过程中,安装程序会显示以下消息:
"The setup must update files or services that cannot be updated while the system is running. If you choose to continue, a reboot will be required to complete the setup."
我认为这是由安装的服务在卸载时仍在运行造成的。所以,我尝试编写一个自定义动作来阻止它。但是,它似乎不起作用。
如果我将操作设置为Execute='deferred' Impersonate='no'
,则只允许我在InstallInitialize
和InstallFinalize
之间执行操作,因此我必须将其设置为“立即”。
<CustomAction BinaryKey='CustomActions' Id='StopService' DllEntry='StopService' Execute='immediate' />
<Custom Action="StopService" Before="InstallValidate">REMOVE="ALL"</Custom>
另请注意,由于某些原因,我必须使用自定义操作手动安装服务,而不是使用Wix。这就是我试图手动删除它的原因。
答案 0 :(得分:4)
您无法在InstallInitialize之前运行提升的自定义操作。如果您要正常安装该服务,MSI将负责为您停止服务,而不显示正在使用的消息。