【问题标题】:WIX: Unable to install app if i enable upgrade and uninstall a new build and try to install old oneWIX:如果我启用升级并卸载新版本并尝试安装旧版本,则无法安装应用程序
【发布时间】:2016-05-19 16:24:32
【问题描述】:

我正在使用 WIX 创建 msi 文件。我正在使用主要升级。升级工作正常,但如果卸载新版本,例如 Build 9 并安装旧版本(示例 3),我得到一个错误,尽管我的机器上当前没有安装 此版本比安装的版本旧。安装将退出。 这是我的 WIX 配置。

<Product Id="*" Name="My App" Language="1033" Version="1.0.12"
           Manufacturer="MyApp" UpgradeCode="CDDBYUYB-7C1D-4B80-BA00-244ETERETE09A">
    <Package
      InstallerVersion="200" 
      Compressed="yes"
      InstallScope="perMachine"
      InstallPrivileges="elevated"/>
    <Media Id="1" Cabinet="MyApp.cab" EmbedCab="yes"/> 
    <MajorUpgrade
      AllowDowngrades="no" 
      DowngradeErrorMessage="!(loc.DowngradeError)" 
      AllowSameVersionUpgrades="no"
      IgnoreRemoveFailure="no"
      Schedule="afterInstallValidate" />

【问题讨论】:

  • 对此问题的任何帮助
  • 那么包裹里肯定有一些剩菜。 Version 对于旧版本也不同,对吧?在提供的代码中,Version="1.0.12"。 Build 9 和 Build 3 的Version 是什么?是否永久安装了某些组件?
  • 请包含使用 /l*v 开关创建的相关 MSI 日志。否则它只是猜测你的安装失败的原因。

标签: wix wix3.7 windows-installer wix3.8


【解决方案1】:

您应该验证升级是否正常工作。例如,如果您进行了按机器安装,那么按用户“升级”将不会有真正的升级,因为这两个产品仍然会被安装。如果您卸载了新的每用户设置,它将为每台机器安装一个,然后您无法降级它。在反之亦然的情况下,也存在具有跨上下文“升级”的类似场景。所以这些都是猜测,不知道整个情况,所需的信息主要是初始安装的详细日志和你说的升级工作。

“机器上什么都没有”可能只是使用 ARPSYSTEMCOMPONENT=1。或者,如果您使用不同的凭据登录,您将看不到在其他帐户下安装的产品。因为相同的 PackageCode 可能会导致这些类型的问题,所以如果您的 Package 元素中有一个自动生成的 Id“*”会更好。

获取升级的详细日志并确保它找到旧产品。

这可能是 MSI 错误,但不太可能。我唯一一次看到这个问题是在灾难性的机器崩溃期间,即使产品本身没有标记为已安装,系统上也会留下部分 UpgradeCode 信息。这是特定于单台机器的,因此您可以通过在干净的机器上重复该场景来验证这是否是问题(虚拟机是这个想法)。

最简单的绕道是从新的 UpgradeCode 重新开始,确保您始终在每次构建、更改 ProductCode 以及每次重大升级时生成新的 PackageCode。

【讨论】:

  • 嗨 philDw,我如何检查我的机器上是否留下了部分升级代码信息以及如何解决此问题。请注意,我有可以正常工作的旧版本,但我无法确定此问题的原因。我观察了我在 TFS 中的变化,但都与我添加的自定义操作有关
  • UpgradeCodes 在 HKLM\software\Microsoft\Windows\CurrectVersion\Installer\UpgradeCodes 中被混淆,其中每个节点都有一个混淆的 ProductCodes 列表。或使用 MsiEnumRelatedProducts(UpgradeCode..) 找到它们。对于每个用户的安装,也可能在 HKCU 中的等效项。
  • 嗨PhilDW,在查看日志文件后,我发现了这个语句。它说检测到降级,但如何删除这些条目并从干净状态开始:Property(C): WIX_DOWNGRADE_DETECTED = {4D441EDE-DF5C-4D65-A5F1-DF7F75040C0D};{2FED60BE-34FA-4142-A84B-DBBAAF6A7F2B };{7794F5FD-6441-4317-89D0-294DFAA7B5DE};{7F2C40AF-99C9-46C6-B230-A92BCC64266C};{5569D2CC-30B3-42CD-8CB0-1CB5348F5468}-{C6E656ECA49-1F837063;C6E656ECA49-1F837063 {4C966063-18E2-40E9-987B-A3DADDA82ECD};{2C9DEDC0-1F23-4C30-BC47-27E5DFB7024C};{72A51A9A-A0A7-45C3-8026-A0237BD1CBC4};{64354ED7-64C98-48D9-B8 >
  • 嗨,PhilDW,我正在等待您的回复
猜你喜欢
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
  • 2017-01-07
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 2012-03-17
相关资源
最近更新 更多