【问题标题】:Can't figure out why Wix won't overwrite old version无法弄清楚为什么 Wix 不会覆盖旧版本
【发布时间】:2017-06-08 15:49:35
【问题描述】:

我不明白为什么 WIX 安装程序不会覆盖旧版本的程序。它一直在安装一个新的第二个程序。这是我的 wix 编码...(是的,我是 XML 和 WIX 的新手)

    <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"><?define AMTechEU_TargetDir=$(var.AMTechEU.TargetDir)?>
    <Product Id="*" Name="AMTechEU" Language="1033" Version="1.0.0.1" Manufacturer="AM Technologies" UpgradeCode="9a48ed21-f1a0-410f-babd-09b3c95a779c">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
    <Media Id="1" Cabinet="Cab1.cab" EmbedCab="yes" />
    <MajorUpgrade
  AllowDowngrades="no"
  AllowSameVersionUpgrades="no"
  IgnoreRemoveFailure="no"
  DowngradeErrorMessage="loc.NewerVersionInstalled"
  Schedule="afterInstallInitialize"/>

  

【问题讨论】:

  • Window MSI 会忽略版本的最后一位数字(我不知道是谁决定的),因此请尝试将您的版本更改为 1.0.1.0 并查看它是否升级。您还可以使用日志记录运行安装,以更好地了解正在发生的事情。从命令行启动安装程序“msiexec /i installer.msi /l*v log.txt”

标签: c# wix installation


【解决方案1】:

检查升级代码。 升级代码必须与之前版本的安装包相同,否则它无法将自己识别为对之前版本的升级。

要通过一个新的安装包升级多个安装包,您需要使用升级表。

修正你的版本号,windows 安装程序只使用major.minor.build。

【讨论】:

  • 谢谢。版本号修复了它
猜你喜欢
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多