Applies to: desktop apps only
The installer sets the MsiNTProductType property for Windows NT, Windows 2000, and later operating systems. This property indicates the Windows product type.
For Windows 2000 and later operating systems, the installer sets the following values. Note that values are the same as of the wProductType field of the OSVERSIONINFOEX structure.
| Value | Meaning |
|---|---|
| 1 | Windows 2000 Professional and later |
| 2 | Windows 2000 domain controller and later |
| 3 | Windows 2000 Server and later |
For operating systems earlier than Windows 2000, the installer sets the following values.
| Value | Meaning |
|---|---|
| 1 | Windows NT Workstation |
| 2 | Windows NT domain controller |
| 3 | Windows NT Server |
Requirements
|
Version | Windows Installer 5.0 on Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. Windows Installer on Windows Server 2003, Windows XP, and Windows 2000. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version. |
|---|
See also
Send comments about this topic to Microsoft
Build date: 2/3/2012
It looks like MSI doesn't natively expose the ProductType values returned by the GetProductInfo Function. [MSI team, How about adding this in 4.5?] So, the proper way to detect a Windows Server 2008 OS installed with the Server Core option would be to write a custom action that queries the API above and sets an MSI property when any of the *_CORE* values are returned by the pdwReturnedProductType parameter.
However, if creating a CA to query GetProductInfo isn't desirable, you can detect a Windows Server 2008 installed with the Server Core option by adding an AppSearch that sets a property based on the existence of the Windows Explorer user interface shell binary file "explorer.exe" in the [WindowsFolder] folder (only) and then use this property combined with the VersionNT and MsiNTProductType entries in a conditional statement as indicated below.
Detecting Explorer.exe
AppSearch Record:
OS_SUPPORTS_UI findWindowsExplorer
DrLocator Record:
findWindowsExplorer [WindowsFolder] 0
Signature Record:
findWindowsExplorer explorer.exe 5.0
Conditional Statement (true if Server Core running)
VersionNT=600 AND MsiNTProductType>1 AND NOT OS_SUPPORTS_UI