wix major upgrade not installing all files

The log file provided shows that newer versions of a few files already on the machine:

MSI (s) (0C:5C) [16:13:25:890]: Disallowing installation of component: {015A4DC1-56F4-562B-96B5-B3BE0D45FA5F} since the same component with higher versioned keyfile exists
MSI (s) (0C:5C) [16:13:25:890]: Disallowing installation of component: {4B6A1404-3892-5BEF-AB47-8FE3149211A4} since the same component with higher versioned keyfile exists

I’ve seen this problem with this updater in the past. Christopher is correct. The updater updated its files but didn’t tell the MSI (it doesn’t update the MSI which is not the correct thing to do). The new MSI thinks newer stuff is on the machine, chooses not to install its files, but during the upgrade the old package removes the files (it doesn’t notice that the versions are newer). Since the new installer chose not to install the files you end up with nothing… until the repair.

To work around the problem, you need to move your RemoveExistingProducts action later. If you’re using the MajorUpgrade element then Schedule="afterInstallExecute" or Schedule="afterInstallFinalize" should do the trick. You’ll need to be more careful with the Component Rules.

Also, IMHO, the 3rd party vendor should not be updating files outside of the MSI. Their decision is forcing your product into a particular way of upgrading.

Leave a Comment