You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使两款不同Product Code的MSI实现Major Upgrade?

两款不同MSI实现Major Upgrade的问题解答

问题描述

现有两款不同的产品MSI,初始状态下两者的Product Code和Upgrade Code均不相同。需求为:当其中一款MSI已安装时,另一款MSI安装时需作为Major Upgrade执行。已将两款MSI的Upgrade Code设置为相同,并在Installshield的“Upgrades”视图中添加了检测相同Upgrade Code的配置,但该方案未生效,安装日志显示“No related product found”。请问是否可以实现两个不同产品MSI的Major Upgrade?

解决方案

  • 完全可以实现,但你的配置漏了关键环节。Major Upgrade靠Upgrade Code关联产品,但只设置相同的Upgrade Code还不够,必须在升级检测规则里明确覆盖两款产品的Product Code范围。
  • 问题根源:Installshield默认的升级检测规则只针对当前产品的旧版本Product Code,没把另一款MSI的Product Code纳入检测范围。你需要新增升级条目,将另一款MSI的Product Code(或其版本范围)添加到检测条件中。
  • 具体操作步骤:
    1. 打开Installshield的“Upgrades”视图,点击「Add」新增升级项
    2. 在「Upgrade Properties」中,把另一款MSI的Product Code填入“Product Code”字段,或者设置版本范围(如果需要覆盖该产品的所有版本)
    3. 确保“Upgrade Code”字段与两款产品共用的Upgrade Code一致
    4. 勾选「Remove existing products」这类必要的升级行为选项
  • 额外注意:两款MSI的安装上下文必须统一(要么都是每用户,要么都是每机器),否则Windows Installer可能无法检测到已安装的产品,进而出现日志中的“No related product found”提示。
  • 最后重新生成MSI包测试,查看安装日志确认是否成功检测到关联产品并执行Major Upgrade。

内容的提问来源于stack exchange,提问作者S_1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:36:28