Evil August
Evil August

Reputation: 410

WiX creating duplicate records in ARP when I change the version number

My WiX installer does not uninstall previous version record in ARP when I change the version number. It installs the updated files, but I end up with duplicate records in ARP. Does this have something to do with minor versus major upgrades? The beginning of my WiX installer file is as follows:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="Blah" Language="1033" Version="1.0.0.6" Manufacturer="Blah Inc." UpgradeCode="c6044fe4-e07a-4dd0-9540-cc77b4430466">
<Package Id ="*" Keywords="Installer" Description="Blah Installer" Manufacturer="Blah Inc." InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" />

<Property Id="OLDVERSION" Secure="yes" />

<Upgrade Id="7BDF86F7-C6A8-4112-9DA6-FDFB6864AE66">
  <UpgradeVersion OnlyDetect="no" Minimum="1.0.0.0" Maximum="99.0.0.0" Property="OLDVERSION" IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>

<InstallExecuteSequence>
  <RemoveExistingProducts Overridable="no" After="InstallInitialize"  />
</InstallExecuteSequence>

Upvotes: 1

Views: 1104

Answers (2)

Stein &#197;smul
Stein &#197;smul

Reputation: 42136

Your Upgrade Code must generally be stable across versions to identify the products in question as related. They seem to differ in your code.

Furthermore you must implement a major upgrade to ensure that the old product version is uninstalled before the new one is installed. Otherwise you will get multiple installations showing up in ARP.

For good measure always uppercase your GUIDs, though I believe WIX will do this for you on compile. And make sure you uninstall all versions of your application before you try anything else.

Upvotes: 1

Isaiah4110
Isaiah4110

Reputation: 10080

Couple of things to check:

  1. Is the Upgrade ID same for both MSI's? The MSI wont know that there is a related product installed unless the upgrade GUID's are same.

  2. Looks like you have updated only the last digit of the version number? if your version 1 uses Version value 1.0.1.0, then version 2 should have a Version value of 1.0.2.0 or higher (1.0.1.1 will not work here).

From Wix3.5, there is a new element called MAJORUPGRADE MajorUpgrade which consolidates the lines which you have written and makes things easier. Can you make use of that and see if it works? Here is a link to Bob Arnsons blog introducing "MajorUpgrade" MajorUpgrade

Check this link for more details: How to implement major upgrade

Upvotes: 2

Related Questions