Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation WIX升级期间重新启动windows服务_Installation_Wix_Windows Services_Windows Installer - Fatal编程技术网

Installation WIX升级期间重新启动windows服务

Installation WIX升级期间重新启动windows服务,installation,wix,windows-services,windows-installer,Installation,Wix,Windows Services,Windows Installer,我们的msi WIX安装程序中安装了windows服务。在升级过程中,我们尝试重新启动服务,而不是完全重新安装,以保护服务用户信誉 很多帖子都在讨论这方面的问题,但没有任何结论 尝试在升级期间通过执行以下操作禁用DeleteServices <InstallExecuteSequence> <DeleteServices>NOT UPGRADINGPRODUCTCODE</DeleteServices> </InstallExecuteSequen

我们的msi WIX安装程序中安装了windows服务。在升级过程中,我们尝试重新启动服务,而不是完全重新安装,以保护服务用户信誉

很多帖子都在讨论这方面的问题,但没有任何结论

尝试在升级期间通过执行以下操作禁用DeleteServices

<InstallExecuteSequence>
   <DeleteServices>NOT UPGRADINGPRODUCTCODE</DeleteServices>
</InstallExecuteSequence>

不升级产品代码
注意:上面的代码也在旧的MSI中

但仍然看到该服务被实际删除并重新安装。尝试在升级期间禁用installservice,如下所示

<InstallServices>NOT WIX_UPGRADE_DETECTED</InstallServices>
未检测到WIX\u升级
但服务处于停止状态,安装程序在操作中失败,ExecServiceConfig代码为1603,因为服务未处于运行状态


任何关于这方面的建议都会很有帮助

我不久前写了一个类似(我想)的答案:。请阅读该链接,了解一些不同的建议

次要升级:除了链接答案中的选项外,您还可以使用次要升级-如果这是一个可行的选项的话。在一次小升级中,产品不会卸载然后重新安装,而是“就地”升级。对于要工作的小升级,您需要严格遵守组件规则-这可能很难做到,但是您可以在不丧失服务信誉的情况下进行升级。我将链接到

永久组件:正如上面链接的答案所述,您可以使用服务配置设置将组件设置为永久组件。在这种情况下,它将永远不会在升级期间卸载,但也不会在真正的卸载期间卸载。因此,您必须在“真正”卸载时手动清除服务安装和文件安装(与主要升级启动的卸载相反,后者设置
UPGRADINGPRODUCTCODE
)。一种简单的方法,我不太喜欢

(托管)服务帐户:我没有使用过,但是上面描述的更新的,链接的答案可以调查

延迟代表/服务MSI:计划
删除现有产品
正确延迟意味着在升级方案期间不应卸载您的服务(有关详细信息,请参阅链接答案)。严格遵守所有组件规则可能很难,但您可以通过将服务放在自己的最小服务安装MSI中,然后通过WiX Burn bundle安装(按顺序安装MSI文件)来简化这一点



如前几次所述,请务必阅读类似的回答:。

请发布完整的详细日志,以及显示您的util serviceconfig序列(在组件下?)和ServiceControl的WiX。该服务不需要运行就可以配置(正如你的帖子所建议的),但它确实需要安装,所以我怀疑还有其他事情发生。例如,如果您试图覆盖可执行文件但未停止服务,则旧安装的服务可能会被标记为禁用且不可配置。作为健全性检查,我还将验证是否成功检测到升级,否则将不会设置UPGRADINGPRODUCTCODE和WIX_upgrade_detected。