Winows 安装程序 (wix) 安装产品两次 [英] Winows installer (wix) install product twice
问题描述
我使用 WIX 安装测试产品.使用默认的 wix settigs 非常简单.
I use WIX to install test product. It's very siple with default wix settigs.
如果我设置product id="*",重新安装、重建和安装,我在程序列表中有两个产品.为什么?
If I set product id="*", install, rebuild and instal again, i have TWO products in programs list. Why?
我的产品:
<Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.6.4" Manufacturer="Timyrlan" UpgradeCode="B3CB410C-6D45-44F0-9920-81E43A54B3ED">
附言如果我更改版本的第 4 位数字,也会出现同样的问题.如果我更改 3 位数,一切正常
P.S. same problem if i change 4-th digit of version. And everything works fine if i change 3 digit
1.0.0.0->1.0.0.1 - 问题
1.0.0.0->1.0.0.1 - problem
1.0.0.0->1.0.1.0 - 工作正常
1.0.0.0->1.0.1.0 - works fine
为什么要安装两次?如何使用最后一位数字升级产品?
Why it's instal twice? How can i upgrade product using last digit?
推荐答案
Ignoring Digits:摘自 ProductVersion 属性
:
"请注意,Windows Installer 仅使用产品版本的前三个字段.如果您在产品版本中包含第四个字段,安装程序将忽略第四个字段......至少有一个ProductVersion 的三个字段必须使用升级表进行升级.
"
AllowSameVersionUpgrades:有 WiX 概念:AllowSameVersionUpgrades="yes"
- 我不喜欢 - 有些人使用它来允许使用第 4 位数字进行升级.我没有列出所有导致的问题(再次:我不喜欢这个概念).也许看看这里:Wix MajorUpgrade 问题.
AllowSameVersionUpgrades: There is the WiX concept: AllowSameVersionUpgrades="yes"
- which I do not like - that some people use to allow upgrades with the 4th digit used. I do not have a list of all the problems that result (again: I don't like this concept). Maybe have a look here: Wix MajorUpgrade problems.
高级升级表:忘记了一个重要环节.如何获得对升级表的细粒度控制:将条目添加到 MSI UpgradeTable 以删除相关产品.以及降级问题:仅在卸载期间而不是在主要升级期间运行 Wix 自定义操作.
更多有用的链接:
- WIX 不会卸载旧版本(主要升级的常见问题列表)
- WiX 提示和技巧(通常有很多关于 WiX 的进一步链接)
- 如何我如何避免 WiX/MSI 部署解决方案中的常见设计缺陷?(注意常见的 MSI/WiX 设计缺陷)
- WIX does not uninstall older version (a list of common problems with major upgrades)
- WiX Tips and Tricks (lots of further links on WiX in general)
- How do I avoid common design flaws in my WiX / MSI deployment solution? (beware of common MSI / WiX design flaws)
链接:
- WIX(删除所有以前的版本)(按产品代码、升级代码、产品名称卸载)
- 做Wix 中的主要升级在添加/删除程序中创建 2 个条目(主要升级 - 旧的手动方式")
- Installshield 主要升级不会卸载旧版本(MSI API 调用)
- WIX (remove all previous versions) (uninstall by productcode, upgradecode, productname)
- Doing Major Upgrade in Wix creates 2 entries in Add/Remove Programs (Major Upgrade - "The Old, Manual Way")
- Installshield major upgrade doesn't uninstall old version (MSI API calls)
这篇关于Winows 安装程序 (wix) 安装产品两次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!