David Ly
David Ly

Reputation: 31606

How do I check if Windows Installer 3.1 or higher is installed?

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

Answers (5)

Muhammad Rizwan
Muhammad Rizwan

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

Ahmad
Ahmad

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

DrunkenSpidey
DrunkenSpidey

Reputation: 131

On the "Run" window, type "msiexec". A window will come up showing the Windows Installer version on the first line.

Upvotes: 13

coding Bott
coding Bott

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

Martin v. Löwis
Martin v. Löwis

Reputation: 127537

If this is inside the MSI file itself, you can check for the VersionMsi property.

Upvotes: 1

Related Questions