Why is WiX detecting Windows Installer 4.05 when 4.5 is installed?
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
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.
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.
精彩评论