Geoff Chappell, Software Analyst
The user-mode Windows kernel, KERNEL32.DLL, is the lowest-level DLL that is in all versions of both the Windows that runs on DOS and the Windows that used to be called Windows NT. For the former, now long extinct, KERNEL32 is the “Win32 Kernel core component” according to the file’s version resources. For Windows as we know it nowadays, KERNEL32 is the Windows NT BASE API Client DLL.
Version 4.0 is common to both Windows products. The Windows that runs on DOS never gets past 4 as its major version number. Client and server editions have different version numbers 5.1 and 5.2 before being reunited for version 6.0.
Version | Distribution | |
---|---|---|
Windows | NT | |
3.51 | Windows NT 3.51 | |
4.0 | Windows 95 | Windows NT 4.0 |
4.10 | Windows 98 | |
4.90 | Windows Me | |
5.0 | Windows 2000 | |
5.1 | Windows XP | |
5.2 | Windows Server 2003 | |
6.0 | Windows Vista Windows Server 2008 |
|
6.1 | Windows 7 Windows Server 2008 R2 |
|
6.2 | Windows 8 | |
6.3 | Windows 8.1 | |
10.0 | Windows 10 |
The version numbering gets arguably quirky for Windows 7, Windows 8 and Windows 8.1. These were each in their time promoted as a significant—even major—release, yet they all have the same major version number which anyway isn’t in any of the names. As if to acknowledge this as unsatisfactory, the major version number for Windows 10 actually is 10.
The following builds have been inspected for these notes. Most are from MSDN discs. Some, especially since Microsoft greatly reduced its shipment of operating systems on MSDN discs, are from service packs downloaded (typically as self-extracting executables) from a Microsoft website.
Builds are arranged in increasing order of the file version as recorded in the executable’s resources. This version number is readily visible using Windows Explorer either in a so-called infotip for the file or by accessing the Version tab in the Properties dialog for the file. Programmers know this version number as coming from the so-called root block of the version-information resource, specifically from the dwFileVersionMS and dwFileVersionLS members of a VS_FIXEDFILEINFO structure.
The date stamp shown for each version is more obscure. File dates are easily modified after the executable is built and are anyway liable to be shown differently when read from different time zones. However, there is in each executable’s header a date stamp which is set when the executable is built and which is not commonly changed afterwards. It is readily accessible to anyone with programming knowledge and appropriate tools, e.g., Microsoft’s own DUMPBIN utility.
File Version | File Header Date Stamp | File Size | Package |
---|---|---|---|
3.51.1048.1 | 2FC3AE99 (25th May 1995) | 336,224 | Windows NT 3.51 |
3.51.1057.6 | 3214F49D (17th August 1996) | 337,696 | Windows NT 3.51 SP5 |
4.0.0.950 | 2FF48837 (1st July 1995) | 411,136 | Windows 95 |
4.0.0.1111 | 320C1CA0 (10th August 1996) | 414,208 | Windows 95 OSR2 |
4.0.1380.1 | 31F7EBAB (26th July 1996) | 363,280 | Windows NT 4.0 |
4.0.1381.4 | 3361070B (26th April 1997) | 372,496 | Windows NT 4.0 SP3 |
4.0.1381.133 | 36232523 (13th October 1998) | 375,056 | Windows NT 4.0 SP4 |
4.0.1381.178 | 36D9D5F3 (1st March 1999) | 374,544 | Windows NT 4.0 SP5 |
4.0.1381.300 | 3794F60F (21st July 1999) | 375,056 | Windows NT 4.0 SP6 |
4.10.0.1998 | 3546ABB0 (29th April 1998) | 471,040 | Windows 98 |
4.10.0.2222 | 371FC2B3 (23rd April 1999) | 471,040 | Windows 98 SE |
4.90.0.3000 | 393F3C0E (8th June 2000) | 536,576 | Windows Me |
5.0.2191.1 | 3844D034 (1st December 1999) | 732,432 | Windows 2000 |
5.0.2195.1600 | 394193D2 (10th June 2000) | 730,384 | Windows 2000 SP1 |
5.0.2195.4272 | 3C1FE60F (19th December 2001) | 731,920 | Windows 2000 SP2 |
5.0.2195.5400 | 3D3D0209 (23rd July 2002) | 733,968 | Windows 2000 SP3 |
5.0.2195.6688 | 3EF274DC (20th June 2003) | 743,184 | Windows 2000 SP4 |
5.1.2600.0 | 3B7DFE0E (18th August 2001) | 926,720 | Windows XP |
5.1.2600.1106 | 3D6DFA28 (29th August 2002) | 930,304 | Windows XP SP1 |
5.1.2600.2180 | 411096B4 (4th August 2004) | 983,552 | Windows XP SP2 |
5.1.2600.5512 | 4802A12C (14th April 2008) | 989,696 | Windows XP SP3 |
5.2.3790.0 | 3E802494 (25th March 2003) | 988,160 | Windows Server 2003 |
5.2.3790.1830 | 424377D2 (25th March 2005) | 1,038,336 | Windows Server 2003 SP1 |
5.2.3790.3959 | 45D70AD8 (18th February 2007) | 1,037,312 | Windows Server 2003 SP2 |
6.0.6000.16386 | 4549BD80 (2nd November 2006) | 874,496 | Windows Vista |
6.0.6001.18000 | 4791A76D (19th January 2008) | 888,320 | Windows Vista SP1 Windows Server 2008 |
6.0.6002.18005 | 49E037DD (11th April 2009) | 891,392 | Windows Vista SP2 |
6.1.7600.16385 | 4A5BDAAD (14th July 2009) | 857,088 | Windows 7 |
6.1.7601.17514 | 4CE7B8EF (20th November 2010) | 857,600 | Windows 7 SP1 |
6.2.9200.16384 | 5010A99B (25th July 2012) | 1,011,712 | Windows 8 |
6.3.9600.16384 | 52158E47 (22nd August 2013) | 1,037,504 | Windows 8.1 |
6.3.9600.17031 | 530886EB (22nd February 2014) | 1,037,504 | Windows 8.1 Update |
10.0.10240.16384 | 559F3B86 (9th July 2015) | 624,312 | Windows 10 |
The executables for Windows Vista SP1 and Windows Server 2008 are exactly identical.
Microsoft’s distribution of early 64-bit Windows on MSDN discs is even less reliable than is my renewal of subscriptions. I seem never to have received a 64-bit edition of Windows XP. Since a subscription in 2007 produced no x64 build of the original Windows Vista, the copy inspected of that is from an OEM disc. The builds inspected for service packs are from self-extracting executables that have been downloaded from a free Microsoft website (which is, curiously, an order of magnitude faster than downloading disc images from the paid MSDN website).
File Version | File Header Date Stamp | File Size | Package |
---|---|---|---|
5.2.3790.1830 | 42438B79 (25th March 2005) | 1,500,160 | Windows Server 2003 SP1 |
5.2.3790.3959 | 45D6CC41 (17th February 2007) | 1,503,232 | Windows Server 2003 SP2 |
6.0.6000.16386 | 4549D328 (2nd November 2006) | 1,232,896 | Windows Vista |
6.0.6001.18000 | 4791ADA5 (19th January 2008) | 1,213,952 | Windows Vista SP1 Windows Server 2008 |
6.0.6002.18005 | 49E041D1 (11th April 2009) | 1,217,536 | Windows Vista SP2 |
6.1.7600.16385 | 4A5BDFDF (14th July 2009) | 1,162,240 | Windows 7 Windows Server 2008 R2 |
6.1.7601.17514 | 4CE7C78B (20th November 2010) | 1,161,216 | Windows 7 SP1 |
6.2.9200.16384 | 5010A83A (25th July 2012) | 1,256,960 | Windows 8 |
6.3.9600.16384 | 5215F7D2 (22nd August 2013) | 1,288,640 | Windows 8.1 |
6.3.9600.17031 | 53089385 (22nd February 2014) | 1,290,688 | Windows 8.1 Update |
10.0.10240.16384 | 559F38AD (9th July 2015) | 702,512 | Windows 10 |
Again, where two packages are shown for the same build, the executables are identical.
KERNEL32 is sufficiently low-level that its 32-bit executables for 64-bit Windows differ from those of the corresponding 32-bit Windows versions.
File Version | File Header Date Stamp | File Size | Package |
---|---|---|---|
5.2.3790.1830 | 42437794 (25th March 2005) | 1,007,616 | Windows Server 2003 SP1 |
5.2.3790.3959 | 45D70A00 (17th February 2007) | 1,009,152 | Windows Server 2003 SP2 |
6.0.6000.16386 | 4549BE94 (2nd November 2006) | 840,192 | Windows Vista |
6.0.6001.18000 | 4791A81D (19th January 2008) | 855,552 | Windows Vista SP1 Windows Server 2008 |
6.0.6002.18005 | 49E038C0 (11th April 2009) | 858,112 | Windows Vista SP2 |
6.1.7600.16385 | 4A5BDBDE (14th July 2009) | 836,608 | Windows 7 Windows Server 2008 R2 |
6.1.7601.17514 | 4CE7BAF9 (20th November 2010) | 837,632 | Windows 7 SP1 |
6.2.9200.16384 | 5010A926 (25th July 2012) | 974,848 | Windows 8 |
6.3.9600.16384 | 52158DBB (22nd August 2013) | 1,040,384 | Windows 8.1 |
6.3.9600.17031 | 53088642 (22nd February 2014) | 1,036,288 | Windows 8.1 Update |
10.0.10240.16384 | 559F3B21 (9th July 2015) | 624,312 | Windows 10 |
Again, where two packages are shown for the same build, the executables are identical.