【发布时间】:2018-06-09 03:48:15
【问题描述】:
我们在我们的 msi WIX 安装程序中安装了一个 Windows 服务。在升级过程中,我们只是尝试重新启动服务,而不是完全重新安装,以保护服务用户的信誉。
在这方面讨论了很多帖子,但没有任何结论。
尝试通过以下操作在升级期间禁用 DeleteServices,
<InstallExecuteSequence>
<DeleteServices>NOT UPGRADINGPRODUCTCODE</DeleteServices>
</InstallExecuteSequence>
注意:以上代码也在旧的 MSI 中
但仍然看到服务被实际删除并重新安装。尝试在升级过程中禁用安装服务,如下所示
<InstallServices>NOT WIX_UPGRADE_DETECTED</InstallServices>
但服务处于停止状态,安装程序无法运行,ExecServiceConfig 代码为 1603,因为服务未处于运行状态。
对此的任何指示都会有所帮助
【问题讨论】:
-
请发布完整的详细日志,以及显示您的 util serviceconfig 序列(在组件下?)的 WiX 和 ServiceControl。该服务不需要运行即可进行配置(正如您的帖子所建议的那样),但必须安装它,所以我怀疑正在发生其他事情。例如,如果您尝试覆盖可执行文件但不停止服务,则旧安装的服务可能会被标记为禁用且不可配置。作为健全性检查,我还将验证是否成功检测到升级,否则将不会设置 UPGRADINGPRODUCTCODE 和 WIX_UPGRADE_DETECTED。
标签: installation wix windows-services windows-installer