【问题标题】:Winows installer (wix) install product twiceWindows 安装程序 (wix) 安装产品两次
【发布时间】:2019-09-06 00:52:45
【问题描述】:

我使用 WIX 安装测试产品。使用默认的 wix settigs 非常简单。

如果我设置产品 id="*",再次安装、重建和安装,我在程序列表中有两个产品。为什么?

我的产品:

<Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.6.4" Manufacturer="Timyrlan" UpgradeCode="B3CB410C-6D45-44F0-9920-81E43A54B3ED">

附:如果我更改版本的第 4 位,同样的问题。如果我更改 3 位数,一切正常

1.0.0.0->1.0.0.1 - 问题

1.0.0.0->1.0.1.0 - 工作正常

为什么要安装两次?如何使用最后一位升级产品?

【问题讨论】:

  • 忘记了下面的几个重要链接,请再看一下。

标签: c# wix windows-installer


【解决方案1】:

忽略数字:摘自 ProductVersion property 的 MSI SDK 文档:

Note that Windows Installer uses only the first three fields of the product version. If you include a fourth field in your product version, the installer ignores the fourth field...At least one of the three fields of ProductVersion must change for an upgrade using the Upgrade table.

AllowSameVersionUpgrades:有 WiX 概念:AllowSameVersionUpgrades="yes" - 我不喜欢 - 有些人使用它来允许使用第 4 位进行升级。我没有列出所有导致的问题的清单(再次重申:我不喜欢这个概念)。也许看看这里:Wix MajorUpgrade problems

高级升级表:忘记了一个重要链接。如何获得对升级表的细粒度控制:Adding entries to MSI UpgradeTable to remove related products。以及降级问题:Run Wix Custom action only during uninstall and not during Major upgrade.

更多有用的链接


链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多