加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在wix中进行重大升级时停止并且不卸载Windows服务?

发布时间:2020-12-14 02:05:09 所属栏目:Windows 来源:网络整理
导读:我正在开发一个应该在wix v3.8中安装 Windows服务的安装程序.问题是我们需要进行重大升级而不卸载服务只是为了阻止它. 我们在包含服务exe文件的组件中使用ServiceInstall和ServiceControl.有没有办法使ServiceInstall的执行有条件(使用像REMOVE =“ALL”和NO
我正在开发一个应该在wix v3.8中安装 Windows服务的安装程序.问题是我们需要进行重大升级而不卸载服务只是为了阻止它.

我们在包含服务exe文件的组件中使用ServiceInstall和ServiceControl.有没有办法使ServiceInstall的执行有条件(使用像REMOVE =“ALL”和NOT UPGRADINGPRODUCTCODE这样的条件)所以升级时没有卸载服务(刚刚停止,所以我们可以升级文件)?

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

谢谢!

解决方法

您必须覆盖处理这些元素的操作.如果它适用于您的MSI包中的所有服务(如果您只有一个服务,那么你好),以下可能会有效:

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

您不需要条件删除,因为DeleteServices已经考虑了Component的状态.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读