Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

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.

like image 261
Davy8 Avatar asked Nov 24 '08 22:11

Davy8


People also ask

How do I know if Windows Installer 3.1 is installed?

Right click on MSI. DLL , select properties -> go to Details tab and check file version.


2 Answers

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

like image 131
coding Bott Avatar answered Sep 30 '22 19:09

coding Bott


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

like image 20
DrunkenSpidey Avatar answered Sep 30 '22 18:09

DrunkenSpidey