| Home | Table of Contents | Please view with Internet Explorer (version 5.00 or higher) and enable scripting. For reasons, see Browsing This Web Site. |
The main shell module (SHELL32.DLL) has so far existed in eight variations considered by Microsoft to have sufficient external impact to deserve at least a difference in the minor version number.
| SHELL32 Version | Distribution | ||
|---|---|---|---|
| Windows | NT | Internet Explorer | |
| 1.30 | |||
| 3.51 | Windows NT 3.51 | ||
| 4.00 | Windows 95 | Windows NT 4.0 | |
| 4.71 | 4.0 | ||
| 4.72 | Windows 98 | 4.01 | |
| 5.00 | Windows 2000 | ||
| 5.50 | Windows Me | ||
| 6.00 | Windows XP, Windows 2003 Server, Windows Vista |
||
No distribution with Windows, NT or Internet Explorer is shown for version 1.30 because all copies inspected were found on disks for other products (specifically, for Win32s as redistributed with various packages for Windows programming). Versions 1.30 and 3.51 predate my experience with 32-bit user-mode Windows and have been included in this study mostly for curiosity. They also predate what has become for most users the essential look and feel of Windows, i.e., the taskbar and Start menu. Yet these versions are 32-bit executables, they are named SHELL32.DLL (in contrast to the 16-bit SHELL.DLL), and there is demonstrable continuity.
Version 5.50 is omitted from the presumably authoritative review of shell DLL versions that Microsoft presents on the page Shell and Common Controls Versions in the MSDN Library. That page also says that “Version 5.0 of Shell32.dll will be distributed with … Windows Me”, and although it may be what was once planned, it is demonstrably not how the release turned out.
Though the next table fusses over such details as build numbers and dates, it is certainly not meant as a comprehensive list even of builds that had formal, public releases. For that, consult Microsoft, who manufacture the software and are surely best able of anyone to present a definitive record. Bear in mind, however, that if Microsoft’s published documentation could sensibly be relied on as either comprehensive or accurate, then you could not now be reading these notes.
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 | Size | Package |
|---|---|---|---|
| 1.30.159.0 | 30005119 (10th July 1995) | 7,680 | Win32s 1.30 (Win32 SDK) |
| 1.30.166.0 | 304DF69E (7th September 1995) | 7,680 | Win32s 1.30 (Visual C++ 4.0, 4.1) |
| 3.51.1016.1 | 2FC3DDD9 (25th May 1995) | 53,520 | Windows NT 3.51 |
| 4.0.0.950 | 2FFB2FE3 (6th July 1995) | 817,664 | Windows 95 |
| 4.0.0.1111 | 320D0368 (11th August 1996) | 819,200 | Windows 95 OSR2 |
| 4.0.1374.1 | 31F95735 (27th July 1996) | 1,275,664 | Windows NT 4.0 |
| 4.0.1381.4 | 3361071D (26th April 1997) | 1,277,200 | Windows NT 4.0 SP3 |
| 4.0.1381.114 | 36233637 (13th October 1998) | 1,278,736 | Windows NT 4.0 SP4 |
| 4.0.1381.171 | 37016F3A (31st March 1999) | 1,279,248 | Windows NT 4.0 SP5 |
| 4.0.1381.332 | 37E7F162 (22nd September 1999) | 1,280,272 | Windows NT 4.0 SP6 |
| 4.71.1712.3 | 3421723C (19th September 1997) | 1,362,704 | Internet Explorer 4.0 (Windows) |
| 342173A2 (19th September 1997) | 1,689,872 | Internet Explorer 4.0 (NT) | |
| 4.72.2106.4 | 3472465F (19th November 1997) | 1,385,744 | Internet Explorer 4.01 (Windows) |
| 347247A2 (19th November 1997) | 1,714,448 | Internet Explorer 4.01 (NT) | |
| 4.72.3110.6 | 35474F66 (30th April 1998) | 1,400,832 | Windows 98 |
| 3553AA2E (9th May 1998) | 1,388,816 | Internet Explorer 4.01 SP1 (Windows) | |
| 3553AB82 (9th May 1998) | 1,719,568 | Internet Explorer 4.01 SP1 (NT) | |
| 4.72.3612.1700 | 36EEB3E5 (17th March 1999) | 1,389,840 | Internet Explorer 4.01 SP2 (Windows) |
| 36EEB5AC (17th March 1999) | 1,720,080 | Internet Explorer 4.01 SP2 (NT) | |
| 3720A1D0 (24th April 1999) | 1,400,832 | Windows 98 SE | |
| 5.0.2920.0 | 3844D037 (1st December 1999) | 2,352,400 | Windows 2000 |
| 5.0.3103.1000 | 3947DFEF (15th June 2000) | 2,358,032 | Windows 2000 SP1 |
| 5.0.3502.5436 | 3D3D020D (23rd July 2002) | 2,374,416 | Windows 2000 SP3 |
| 5.0.3700.6705 | 3EF274DD (20th June 2003) | 2,383,632 | Windows 2000 SP4 |
| 5.50.4134.100 | 39403BE3 (9th June 2000) | 2,281,472 | Windows Me |
| 6.0.2600.0 | 3B7DFE0F (18th August 2001) | 8,322,560 | Windows XP |
| 6.0.2800.1106 | 3D6DFA23 (29th August 2002) | 8,336,384 | Windows XP SP1a |
| 6.0.2900.2180 | 411096B7 (4th August 2004) | 8,384,000 | Windows XP SP2 |
| 6.0.3790.0 | 3E802496 (25th March 2003) | 8,166,400 | Windows 2003 Server |
| 6.0.3790.1830 | 424377D9 (25th March 2005) | 8,379,392 | Windows 2003 Server SP1 |
| 6.0.6000.16386 | 4549BDB4 (2nd November 2006) | 11,314,688 | Windows Vista |
The two Win32s versions cited above have headers that are not entirely compatible with modern expectations, so that although a resource directory can be identified, and the build numbers found in the relevant structure, they are not found for display in the Windows Explorer (e.g., in an infotip).
Numerous details both of implementations and even of interfaces vary not just with the version but with the build.
To save repeated reference to the details of build numbers, or to a tiresome enumeration of applicable products and service packs, the following shorthands apply throughout these notes. If scripting is enabled, then wherever these shorthands appear on other pages, hovering the mouse cursor over the text should produce an elaboration as a tooltip.
| late 4.00 builds | Windows 95: none Windows NT 4.0: from SP3 |
| later 4.00 builds | Windows 95: none Windows NT 4.0: from SP4 |
| very late 4.00 build | Windows NT 4.0 SP6 |
| late 5.00 builds | Windows 2000 from SP3 |
| very late 5.00 build | Windows 2000 SP4 |
The variations through version 6.00 are ridiculously numerous and complicated. It is plainly unfair to programmers to have so many variations in a single combination of major and minor version number, especially from a company whose product documentation is historically unreliable about what’s in which version, let alone which build. The shorthands used here assume the following chronological order of releases:
Builds are said to be “post-settlement” starting from Windows XP SP1a, “late” beginning with the original Windows Server 2003, and “very late” with Windows XP SP2. There may then be further qualification as applying just to the Windows XP stream or the Windows Server 2003 stream. Windows Vista is also a version 6.00 build and is understood as included in all these shorthands unless specifically excluded by insertion of “non-Vista” or “pre-Vista”.