Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 6

OS check!


Anybody know how to check the OS edition in Vista. For example, my application should get installed only in Vista Business , Vista Ultimate & Vista Home Basic (Not premium). How to check this? I can check the registry entry (CurrentVersion). But it does not give information about the Home basic and premium.

Is there a standard and perfect way to check the OS edition?

Thank you so much for the help.
Labels (1)
0 Kudos
(3) Replies
Level 10 Flexeran
Level 10 Flexeran

You will likely need to use the GetProductInfo API provided by Windows. This API could be called from a custom action that then sets a property (if this is an MSI setup) based on the edition determined. Note that this API is only available on Windows Vista or newer.
0 Kudos
Level 10


Would it be possible to use one of the following MSI properties or both of them?

  • MsiNTProductType : Indicates the Windows product type. Only available with Windows Installer 2.0 and later.
  • MsiNTSuitePersonal : On Windows XP and later operating systems, the Installer sets this property to 1 (one) only if the operating system is Workstation Personal (not Professional). Only available with Windows Installer 2.0 and later.

Have you tried that already?

0 Kudos
Level 3

The attached InstallScript LogSystemInfo function uses the Kernel32.GetProductInfo function to determine the Windows product type (e.g. home, professional, enterprise, ultimate, ... Windows editions).

Note that the code calls a custom WriteLogLine at the end of the function, which is not included in the sample code.
0 Kudos