WiX3 major upgrade not working

2019-02-23 00:56发布

I have a major upgrade that I am trying to do, but it just doesn't work. It simply installs the new program along side the old one. They are in different directories (as I changed the directory structure with the new version) so there are no conflicts, but the old one NEEDS to be erased in order for my product to function properly.

<Property Id="UPGRADE_NEEDED" Secure="yes" />
<Property Id="SAME_OR_NEWER_VERSION" Secure="yes" />
<InstallExecuteSequence>
    <RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>
<Upgrade Id="{PUT-YOUR-GUID-HERE}">
    <UpgradeVersion Minimum="5.1.3" OnlyDetect="yes" IncludeMinimum="yes" Property="SAME_OR_NEWER_VERSION" />
    <UpgradeVersion Minimum="5.1" Maximum="5.1.3" Language="1033" Property="UPGRADE_NEEDED" MigrateFeatures="yes" IncludeMinimum="yes" />

That is my upgrade elements (with GUID removed of course). If anyone can find where the problem lies I would greatly appreciate it.

标签: wix wix3
1条回答
2楼-- · 2019-02-23 01:36

There are some general rules for an upgrade to be working:

  1. Old and new products must have identical UpgradeCode values and different ProductCode values.

  2. Old and new products must have identical values for InstallAllUsers [i.e. a per-machine installation cannot upgrade a per-user installation and vice-versa.]

  3. New product's setup Version (the setup project, nothing to do with file versions) must be higher.

  4. All setup versions (again, not file versions) must be 1.0 or greater.

Further details how to correctly implement an upgrade using WiX can be found in this thread:

How to implement WiX installer upgrade?

查看更多
登录 后发表回答