I have had Major Upgrades working in a WiX v3.11 installer, following this tutorial and learning quite a bit (German only).
But now WiX 4 is here which I want to try out for an update from 2.0.0 (build with WiX 3.11) to 2.1.0 (build with WiX 4.0.3). And I see that the mentioned tutorial is somewhat outdated:
Productelement isPackagenow, soProduct.VersionisPackage.VersionnowProduct.IdisPackage.ProductCodenow
I would have thought that – besides the naming – everything works as before. So I bumped my version value from 2.0.0 to 2.1.0 and generated a new Package.ProductCode GUID (instead of Product.Id), just as said in step 2 of the tutorial. But my 2.1 product is installed additionally to 2.0:
I was not able to find an Upgrade tutorial especially for WiX 4, so my question is: What do I have to know to make this work?
UPDATE: I was able to verify with a second installer that our set-up is working. This is NOT an issue of WiX, nor WiX 3 vs. 4! But nevertheless this is a problem, so I tried to get some debug information by upgrade both products by running msiexec.exe /i each.msi /L*VX debug.log. Now in the working installer's log I see
MSI (c) (0C:2C) [01:08:30:365]: Doing action: FindRelatedProducts
Action 1:08:30: FindRelatedProducts. Searching for related applications
Action start 1:08:30: FindRelatedProducts.
FindRelatedProducts: Found application: {02494A83-9693-3A7E-B7F0-BC314326DD43}
MSI (c) (0C:2C) [01:08:30:370]: PROPERTY CHANGE: Adding WIX_UPGRADE_DETECTED property. Its value is '{02494A83-9693-3A7E-B7F0-BC314326DD43}'.
MSI (c) (0C:2C) [01:08:30:370]: PROPERTY CHANGE: Adding MIGRATE property. Its value is '{02494A83-9693-3A7E-B7F0-BC314326DD43}'.
Action ended 1:08:30: FindRelatedProducts. Return value 1.
while in the not working installer's log this reads:
MSI (c) (EC:58) [00:59:33:824]: Doing action: FindRelatedProducts
Action 0:59:33: FindRelatedProducts. Searching for related applications
Action start 0:59:33: FindRelatedProducts.
Action ended 0:59:33: FindRelatedProducts. Return value 1.
I read here that FindRelatedProducts considers UpgradeCode, version, language. All of these are unchanged between 2.0 and 2.1 in both projects. So it remains unclear, when and why WiX 4 does not find "related" aka previous WiX 3 installations.
