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