WindowsType

The installer sets this variable to a value that indicates the type of Windows running on the target system. The value of this variable corresponds to the values defined for the GetProductInfo() Win32 API function. However, in contrast to that function, which is only available on Windows Vista and later, Tarma Installer defines values for this variable for all Windows versions from Windows 95 onwards.

Note 1: Similar pieces of information can be obtained from a combination of other variables (see Related topics, below). The advantage of WindowsType is that it brings together all information in one place.

Note 2: This variable does not fully define the Windows version; it should be used in conjunction with Version9x, VersionNT, and VersionNT64 to distinguish between, for example, Windows 95 and 98 (both have a WindowsType value of 2, but different Version9x values), or between, say, Windows NT4 Workstation, 2000 Professional, XP Professional, XP for x64 Professional, or Vista Business Edition (all with WindowsType 6, but different VersionNT and VersionNT64 values).

The following values are defined for this variable, including the Tarma usage for pre-Vista Windows versions. Note that the "Server" editions of Windows include both server and domain controller roles, because GetProductInfo() does not distinguish between them. If your installer needs to treat these two roles differently, then use the MsiNTProductType or RegNTProductType variables.

Value Value (hex) Vista and later Tarma usage for pre-Vista
0 0x00000000 Unknown product Unknown product
1 0x00000001 Ultimate Edition  
2 0x00000002 Home Basic Edition Windows 95, 98, Me
3 0x00000003 Home Premium Edition Windows NT4, 2000, or XP with MsiNTSuitePersonal set
4 0x00000004 Enterprise Edition  
5 0x00000005 Home Basic N Edition  
6 0x00000006 Business Edition Windows NT4 Workstation, Windows 2000 Professional, XP Professional
7 0x00000007 Standard Server Windows NT4 Server, Server 2000, Server 2003 without special options
8 0x00000008 Datacenter Server Windows NT4 Server, Server 2000, Server 2003 with MsiNTSuiteDataCenter set
9 0x00000009 Small Business Server Windows NT4 Server, Server 2000, Server 2003 with MsiNTSuiteSmallBusiness or MsiNTSuiteSmallBusinessRestricted set
10 0x0000000A Enterprise Server Windows NT4 Server, Server 2000, Server 2003 with MsiNTSuiteEnterprise set, or Windows NT4 Advanced Server
11 0x0000000B Starter Edition  
12 0x0000000C Datacenter Server Core  
13 0x0000000D Standard Server Core  
14 0x0000000E Enterprise Server Core  
15 0x0000000F Enterprise Server Itanium  
16 0x00000010 Business N Edition  
17 0x00000011 Web Server Windows NT4 Server, Server 2000, Server 2003 with MsiNTSuiteWebServer set
18 0x00000012 Cluster Server Windows NT4 Server, Server 2000, Server 2003 marked as Compute Cluster without any higher (Datacenter, Enterprise) server types indicated.
19 0x00000013 Home Server  
20 0x00000014 Storage Server Express  
21 0x00000015 Storage Server Standard Windows NT4 Server, Server 2000, Server 2003 marked as Storage Server without any higher (Datacenter, Enterprise) server types indicated.
22 0x00000016 Storage Server Workgroup  
23 0x00000017 Storage Server Enterprise  
24 0x00000018 Server for Small Business  
25 0x00000019 Small Business Server Premium Windows NT4 Server, Server 2000, Server 2003 with MsiNTSuiteBackOffice set
2882382797 0xABCDABCD Unlicensed product Error while determining product type

Usage

You can refer to this variable as <WindowsType>. In conditional expressions you can omit the brackets and simply use WindowsType = 17, for example, as a test for any Windows version that is identified as a Web Server edition. Set automatically by all installers.

Related topics

MsiNTProductType, MsiNTSuiteBackOffice, MsiNTSuiteDataCenter, MsiNTSuiteEnterprise, MsiNTSuitePersonal, MsiNTSuiteSmallBusiness, MsiNTSuiteSmallBusinessRestricted, MsiNTSuiteWebServer, WindowsCore, System information variables