Reputation: 31606
I need to know this since this is a pre-req for .NET 3.5 and if I'm including the .NET bootstrapper, I should also see if Windows Installer 3.1 is needed.
Right now I'm checking for the registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB893803v2
Which will check for Windows Installer 3.1 but I suspect it doesn't check for higher versions. (Haven't been able to confirm or deny that)
What registry key should I look at to find this information?
Edit: I need to check this in Inno Setup which is what I'm using as my bootstrapper, and I'm not sure how to check a dll version in there.
Upvotes: 21
Views: 89665
Reputation: 348
Please check this link may help you as already works for me for Windows 7, hopefully may work for other versions of windows as well to check Windows Installer version.
Upvotes: 0
Reputation: 517
If you want to check the version of the Windows Installer on your system, check the version of MSI.DLL in the Windows\System 32 folder.
Right click on MSI.DLL , select properties -> go to Details tab and check file version.
Upvotes: 3
Reputation: 131
On the "Run" window, type "msiexec". A window will come up showing the Windows Installer version on the first line.
Upvotes: 13
Reputation: 4367
locate the installer msi.dll with this registry path: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer
value: InstallerLocation
then get the version information from that file.
update: the way above is old! new way to detect the version is documented here: http://msdn.microsoft.com/en-us/library/aa368280%28VS.85%29.aspx
Upvotes: 14
Reputation: 127537
If this is inside the MSI file itself, you can check for the VersionMsi property.
Upvotes: 1