[wix-users] WiX MSI Failing to upgrade all components

Phil Wilson phil.wilson at mvps.org
Sun Dec 13 13:44:06 PST 2015

You are doing an upgrade, so assuming the upgrade logic is all working, you
will see two REPs in the log (in the execute sequences), one for the older
product being uninstalled (and skipped) and one for the new upgrade.
Add/Remove Programs/Features will have two entries for your product if the
upgrade detection logic failed (or you did a per user/machine cross-context
unsupported upgrade). So I'd look in ARP for the versions installed and more
carefully in the log for all RemoveExistingProducts occurrences. 

It's not clear to me from your "BackupUtil.exe gets removed. I am expecting
it to be left alone." whether you mean the file is completely missing or the
version isn't what you expected. 

Assuming it's the version is not as expected (the logs aren't attached, and
you haven't said where your REP is sequenced) then if REP is early in the
upgrade the entire old product will be uninstalled (including the file that
you manually replaced) then the new product will be installed, so you'll end
up with BackupUtil.exe version 6.4.71 from your 1.0.1 product. 

If the REP is late (after installexecute or installfinalize) the manual
replacement of the file may be the issue. The actual version of the file on
disk does not match the version in the old MSI product, and in order to
apply the file replacement rule Windows may restore that older 6.4.70 and
yes, replace it with 6.4.71 from 1.0.1. You wouldn't notice this if the
older MSI file is available somewhere, otherwise you'd see a request for
that original MSI file. 

If the file is completely missing then the component guids might be
different - the upgrade installs over the older files (REP late in the
sequence) with a different component id for that file. Then the uninstall of
the older product removes its unused components (and your newly installed
file) because there are no longer any references to that id. 

A  separate issue is that there may be a message about the component guid
not being installed because a higher version exists but it removes it

Phil W

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Colin Sim
Sent: Sunday, December 13, 2015 10:38 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] WiX MSI Failing to upgrade all components

Hi Rob,

I can confirm that the file version and product version attributes of the
BackupUtil.exe component is being updated between components. We stamp all
our components (.exe, .dll, dot anything that can have a file or product
version) and installer on every build. So I do not believe this is the cause
of the error I'm seeing.


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Robert Beardsworth
Sent: Monday, 14 December 2015 7:11 a.m.
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] WiX MSI Failing to upgrade all components

Hi Colin,
   quick simple question: did you mess with the File Versions of your
BackupUtil.exe? I am sure someone will correct me if I am wrong, but I
believe that the Windows installer uses the File Version to decide whether
to overwrite files (we bumped into this when producing interop files with
tlbimp which didn't produce a new File Version unless we changes the
assembly version).
HTH, Rob
> From: Colin.Sim at ipfx.com
> To: wix-users at lists.wixtoolset.org
> Date: Sun, 13 Dec 2015 09:21:20 +0000
> Subject: [wix-users] WiX MSI Failing to upgrade all components
> This question relates to this past post
014.html but now I have had time to reproduce the error on a much smaller
scale with logs I can hopefully upload to the mailing list.
> [Background]
> I have an installer that contains a single component (this is the
simplified case). I have created two installers:
>     - ServerInstaller.1.0.0.msi, which contains BackupUtil.exe version
>     - ServerInstaller.1.0.1.msi, which contains BackupUtil.exe version
> After ServerInstaller.1.0.0.msi is installed and BackupUtil.exe is
manually replaced with a higher version, say 6.4.78, when I run
ServerInstaller.1.0.1.msi, BackupUtil.exe gets removed. I am expecting it to
be left alone.
> I couldn't see anything obvious that is wrong apart from perhaps "Skipping
RemoveExistingProducts action: current configuration is maintenance mode or
an uninstall". I am very new installer is correctly updated to perform a
major upgrade, i.e. there is a new ProductCode, new PackageCode, and version
number. The UpgradeCode remains the same.
> I have attached the logs to this post; hopefully, someone can see the
thing I'm doing wrong.
> Regards,
> Colin
> PS: I am observing this same type of behaviour on our old installers that
are authored in InstallShield. So my gut is telling me this is something
fundamentally wrong with Windows Installer itself.
> This e-mail contains IPFX information which may be privileged or
confidential and is intended for use only by the individual(s) or entity
named above. If you are not the intended recipient, note that disclosing,
copying, distributing or using this information is prohibited. If you have
received this e-mail in error, please advise immediately to the e-mail
address above and permanently delete this message and any attachments.
Please note that any views or opinions presented in this email are solely
those of the author and do not necessarily represent those of the company.
We monitor our e-mail system and may record your e-mails. Thank you.
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/

WiX Toolset Users Mailing List provided by FireGiant

WiX Toolset Users Mailing List provided by FireGiant

More information about the wix-users mailing list