Guys

Here is the scenario. Four quick patches were rolled out after the release of the previous version of our product. Now we have released a new version. The product GUID has stayed the same. So when running over a previous installation, it goes into upgrade mode as expected.

Issue
  • Running the new install over the previous version - works fine regardless of whether the MSI or Setup.exe is run.
  • Running the new install after applying any one of the released patches to the previous version - Setup.exe works fine and upgrades the app correctly. When running MSI file, it throws the error "Another version of this product is already installed. Installation of this version cannot continue".



Version Numbers
Previous release - 2.0.2057.1000
Current release - 2.0.2423.2000

Relevant log file entries when running the new install on top of the previous version with quick patch 4 installed.
Code:
Machine policy value 'DisableFlyWeightPatching' is 0
Looking for patch transform: QPPrev1ToQPNewVersion
DEBUG: Error 2748:  Transform QPPrev1ToQPNewVersion invalid for package C:\Users\ADMINI~1\AppData\Local\Temp\1\e6a9c.msi. Expected product version <= 2.0.2057.1000, found product version 2.0.2423.2000.
1: 2748 2: QPPrev1ToQPNewVersion 3: C:\Users\ADMINI~1\AppData\Local\Temp\1\e6a9c.msi 4: 2.0.2057.1000 5: 2.0.2423.2000 
Skipping validation for patch transform #QPPrev1ToQPNewVersion.  Will not apply because previous transform was invalid
Looking for patch transform: QPPrev2ToQPNewVersion
DEBUG: Error 2748:  Transform QPPrev2ToQPNewVersion invalid for package C:\Users\ADMINI~1\AppData\Local\Temp\1\e6a9c.msi. Expected product version <= 2.0.2133.1002, found product version 2.0.2423.2000.
1: 2748 2: QPPrev2ToQPNewVersion 3: C:\Users\ADMINI~1\AppData\Local\Temp\1\e6a9c.msi 4: 2.0.2133.1002 5: 2.0.2423.2000 
Skipping validation for patch transform #QPPrev2ToQPNewVersion.  Will not apply because previous transform was invalid
Looking for patch transform: QPPrev3ToQPNewVersion
DEBUG: Error 2748:  Transform QPPrev3ToQPNewVersion invalid for package C:\Users\ADMINI~1\AppData\Local\Temp\1\e6a9c.msi. Expected product version <= 2.0.2160.1003, found product version 2.0.2423.2000.
1: 2748 2: QPPrev3ToQPNewVersion 3: C:\Users\ADMINI~1\AppData\Local\Temp\1\e6a9c.msi 4: 2.0.2160.1003 5: 2.0.2423.2000 
Skipping validation for patch transform #QPPrev3ToQPNewVersion.  Will not apply because previous transform was invalid
Patch {D12A490B-536B-49D5-BF0E-AD11FDE6EFAC} no longer has applicable transforms, removing from patch list.
APPCOMPAT: looking for appcompat database entry with ProductCode '{<<OurproductCode>>}'.
....
PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
{<<OurProductCode>>}
Note: 1: 1729 
Product: Our Product -- Configuration failed.
Windows Installer reconfigured the product. Product Name: Our Product. Product Version: 2.0.2423.2000. Product Language: 1033. Reconfiguration success or error status: 1638.
MSI (c) (24:54) [11:50:20:156]: MainEngineThread is returning 1638
When running Setup.exe, this issue does not occur. The log file in that case does not have entries (highlighted in blue above) like "Looking for patch transform". There after the log statement "Machine policy value 'DisableFlyWeightPatching' is 0", the next line is "APPCOMPAT: looking for appcompat database entry with ProductCode '{<<OurProductCode>>}'."

Any thoughts as to what might be going on?