gpt4 book ai didi

Wix 主要升级 : how do I prevent Windows service reinstallation?

转载 作者:行者123 更新时间:2023-12-03 22:30:52 25 4
gpt4 key购买 nike

我正在开发一个应该安装多个 Windows 服务的安装程序。我们经常制作新版本(使用新的 .msi 文件),并且我们使用重大升级使其更容易安装到以前的安装中。

问题是我们需要在不覆盖服务配置(例如帐户用户名和密码)的情况下更新服务文件。

我们正在使用 ServiceInstallServiceControl在包含服务的组件内部 exe文件。有没有办法让 ServiceInstall 执行有条件的(使用类似 REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE 的条件)所以升级时不会卸载服务(只是停止以便我们可以升级文件)?

一种解决方案是使用自定义操作,但也许有更好的方法?

谢谢!

最佳答案

看来我找错地方了。我的问题的解决方案是添加 NOT UPGRADINGPRODUCTCODEDeleteServices标准 Action 。

这解决了我的问题。这种方法的警告是当前 msi 安装的所有服务文件被删除(或不删除)。所以我不能在升级时有选择地删除/保留服务。但是,这对我来说很好 - 我满足了在升级过程中保留服务登录信息(但不是实际服务代码)的要求。

更新:DeleteServices 的条件可以从 InstallExecuteSequence 中的 WiX 访问元素。

关于Wix 主要升级 : how do I prevent Windows service reinstallation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2228855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com