【问题标题】:MSI Installing twice rather than upgrading with the same UpgradeCodeMSI 安装两次而不是使用相同的 UpgradeCode 升级
【发布时间】:2018-10-29 04:30:39
【问题描述】:

我正在使用带有安装程序项目扩展的 Visual Studio 2017 为我的应用创建 MSI。

但是,当我在已安装 0.2.5 的系统上运行 0.2.7 MSI 时,它会向 appwiz.cpl 添加另一个项目,并保持版本相同,以便在安装 0.2.7 之后,它只运行 0.2.5 exe。

我确保 UpgradeCode 相同,PackageCode 和 ProductCode 随每个版本而变化,并且我将 RemovePreviousVersions 设置为 true。

我的源代码可用here。您将在 ChromebookGUI/Installer/ 中找到安装程序项目。

我做错了什么?

【问题讨论】:

  • 我没有时间彻底回答,但是对于重大升级,升级表必须正确编写,并且您需要一个新产品 GUID 和版本前三位数字之一的凹凸数字。升级表中的操作属性必须添加到 SecureCustomProperties 列表中。您确定没有更改升级代码?
  • 为了确保 UpgradeCode 没有改变,我从 0.2.5 抓取了一个并在 0.2.7 上使用它。
  • 我添加了一个后续回答。

标签: c# .net visual-studio-2017 windows-installer


【解决方案1】:

您可以获得已安装软件包的升级代码列表,如下所示:How can I find the Upgrade Code for an installed MSI file?

我还有一个更简单的,但我现在无法挖掘它。我稍后再看看。

如果您提供更多后续信息(以避免过多的 cmets),请添加此答案以“进化”它。

更新:另一个答案是here,但如果您启用了自动日志记录,我不建议使用该脚本,因为它会在运行时在临时文件夹中创建日志文件。

【讨论】:

  • 感谢您的帮助!我明天会回来工作检查一下。
猜你喜欢
  • 2014-11-20
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 2014-05-05
  • 1970-01-01
  • 2015-02-20
相关资源
最近更新 更多