【发布时间】:2017-07-03 21:54:45
【问题描述】:
在卸载过程中,安装程序显示以下消息:
"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。这就是我尝试手动删除它的原因。
【问题讨论】:
-
您应该在安装完成后调用自定义操作。然后在您的自定义操作之后,您可以调用 WIX 操作来安装服务。
-
感谢您的建议,但该服务通过自定义操作安装得很好。我关心的是如何在卸载过程中抑制上述消息。
-
@jcha,也许可以运行一个特殊的可执行文件,在卸载产品之前从引导程序停止服务。我也有同样的问题。。
-
对于类似的情况,我使用自定义操作通过运行自定义操作 Before="RemoveFiles" 来卸载服务。我确信这是否适用于所有场景。
标签: service wix custom-action