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, InstallMate 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, VersionNT32, 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, VersionNT32, and VersionNT64 values).

The following values are defined for this variable, including the InstallMate 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.

WindowsType by name

Value Value (hex) Vista/2008 and later InstallMate usage for pre-Vista
6 0x00000006 Business Edition Windows NT4 Workstation, Windows 2000 Professional, XP Professional
16 0x00000010 Business N Edition  
18 0x00000012 Cluster Server Windows NT4 Server, Server 2000/2003 marked as Compute Cluster without any higher (Datacenter, Enterprise) server types indicated.
8 0x00000008 Datacenter Server Windows NT4 Server, Server 2000/2003 with MsiNTSuiteDataCenter set
12 0x0000000C Datacenter Server Core  
37 0x00000025 Server Datacenter without Hyper-V  
39 0x00000027 Server Datacenter without Hyper-V, Core  
4 0x00000004 Enterprise Edition  
70 0x00000046 Enterprise E Edition  
27 0x0000001B Enterprise N Edition  
10 0x0000000A Enterprise Server Windows NT4 Server, Server 2000/2003 with MsiNTSuiteEnterprise set, or Windows NT4 Advanced Server
14 0x0000000E Enterprise Server Core  
15 0x0000000F Enterprise Server Itanium  
38 0x00000026 Enterprise Server without Hyper-V  
41 0x00000029 Enterprise Server without Hyper-V, Core  
30 0x0000001E Essential Business Server Management Server  
32 0x00000020 Essential Business Server Messaging Server  
31 0x0000001F Essential Business Server Security Server  
2 0x00000002 Home Basic Edition Windows 95, 98, Me
67 0x00000043 Home Basic E Edition  
5 0x00000005 Home Basic N Edition  
3 0x00000003 Home Premium Edition Windows NT4, 2000, XP with MsiNTSuitePersonal set
68 0x00000044 Home Premium E Edition  
26 0x0000001A Home Premium N Edition  
19 0x00000013 Home Server  
42 0x0000002A Microsoft Hyper-V Server  
48 0x00000030 Professional  
69 0x00000045 Professional E  
49 0x00000031 Professional N  
24 0x00000018 Server for Small Business  
35 0x00000023 Server for Small Business without Hyper-V  
33 0x00000021 Server Foundation  
9 0x00000009 Small Business Server Windows NT4 Server, Server 2000/2003 with MsiNTSuiteSmallBusiness or MsiNTSuiteSmallBusinessRestricted set
25 0x00000019 Small Business Server Premium Windows NT4 Server, Server 2000/2003 with MsiNTSuiteBackOffice set
7 0x00000007 Standard Server Windows NT4 Server, Server 2000/2003 without special options
13 0x0000000D Standard Server Core  
36 0x00000024 Standard Server without Hyper-V  
40 0x00000028 Standard Server without Hyper-V, Core  
11 0x0000000B Starter Edition  
66 0x00000042 Starter E Edition  
47 0x0000002F Starter N Edition  
23 0x00000017 Storage Server Enterprise  
20 0x00000014 Storage Server Express  
21 0x00000015 Storage Server Standard Windows NT4 Server, Server 2000/2003 marked as Storage Server without any higher (Datacenter, Enterprise) server types indicated.
22 0x00000016 Storage Server Workgroup  
1 0x00000001 Ultimate Edition  
71 0x00000047 Ultimate E Edition  
28 0x0000001C Ultimate N Edition  
17 0x00000011 Web Server Windows NT4 Server, Server 2000/2003 with MsiNTSuiteWebServer set
29 0x0000001D Web Server Core  
0 0x00000000 Unknown product Unknown product
2882382797 0xABCDABCD Unlicensed product Error while determining product type

WindowsType by value

Value Value (hex) Vista/2008 and later InstallMate 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, 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/2003 without special options
8 0x00000008 Datacenter Server Windows NT4 Server, Server 2000/2003 with MsiNTSuiteDataCenter set
9 0x00000009 Small Business Server Windows NT4 Server, Server 2000/2003 with MsiNTSuiteSmallBusiness or MsiNTSuiteSmallBusinessRestricted set
10 0x0000000A Enterprise Server Windows NT4 Server, Server 2000/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/2003 with MsiNTSuiteWebServer set
18 0x00000012 Cluster Server Windows NT4 Server, Server 2000/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/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/2003 with MsiNTSuiteBackOffice set
26 0x0000001A Home Premium N Edition  
27 0x0000001B Enterprise N Edition  
28 0x0000001C Ultimate N Edition  
29 0x0000001D Web Server Core  
30 0x0000001E Essential Business Server Management Server  
31 0x0000001F Essential Business Server Security Server  
32 0x00000020 Essential Business Server Messaging Server  
33 0x00000021 Server Foundation  
35 0x00000023 Server for Small Business without Hyper-V  
36 0x00000024 Standard Server without Hyper-V  
37 0x00000025 Server Datacenter without Hyper-V  
38 0x00000026 Enterprise Server without Hyper-V  
39 0x00000027 Server Datacenter without Hyper-V, Core  
40 0x00000028 Standard Server without Hyper-V, Core  
41 0x00000029 Enterprise Server without Hyper-V, Core  
42 0x0000002A Microsoft Hyper-V Server  
47 0x0000002F Starter N Edition  
48 0x00000030 Professional  
49 0x00000031 Professional N  
66 0x00000042 Starter E Edition  
67 0x00000043 Home Basic E Edition  
68 0x00000044 Home Premium E Edition  
69 0x00000045 Professional E  
70 0x00000046 Enterprise E Edition  
71 0x00000047 Ultimate E Edition  
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