views:

160

answers:

2

This is a bit of a strange problem. I have an installer that needs to check the version of Windows Installer on a machine, so I use the VersionMsi property to do this.

However, when trying it out on a Vista 32-bit machine, I have found that it reports that I have 4.05 installed. So I checked msi.dll, msiexec, etc and found that they were all at 4.5.

There must be a registry value or something else that is still pointing to 4.05, so I was wondering if there is a way to safely rollback to 4.05 and then apply the update again?

Thanks

A: 

My guess is that it's something weird going on inside WiX and/or your registry since the "05" portion is neither, so to speak, Microsoft nor generally accepted way of versioning products.

Anton Gogolev
It's quite strange as I've just tried updating a Windows XP machine that had 3.0 on it using the Windows Installer 4.5 hotfix, and it also reported 4.05. I'm now thinking whether it would be possible that the VersionMsi property itself is incorrectly detecting 4.5 as 4.05
ray dey
+2  A: 

The documentation for InstallerVersion attribute of the wix Package element shows a hint (emphasis added by me):

The minimum version of the Windows Installer required to install this package. Take the major version of the required Windows Installer and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and "405" would represent Windows Installer 4.5. For 64-bit Windows Installer packages, this property must be set to 200 or greater.

Also, if you think about it, 4.05 and 4.5 are exactly the same if you interpret the dot as a number separator rather than a decimal point. 05 is just a way to write 5 with two digits in that case.

Wim Coenen
oh wow thanks dude, I'd never have found that in a million years :)
ray dey

related questions