SHELL32 Versions

The main shell module (SHELL32.DLL) has so far existed in nine 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.0 Windows 95 Windows NT 4.0  
4.71     4.0
4.72 Windows 98   4.01
5.0   Windows 2000  
5.50 Windows Me    
6.0   Windows XP,
Windows Server 2003,
Windows Vista,
Windows Server 2008
 
6.1   Windows 7  

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.

Builds

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 SP1
6.0.2900.2180 411096B7 (4th August 2004) 8,384,000 Windows XP SP2
6.0.2900.5512 4802A111 (14th April 2008) 8,461,312 Windows XP SP3
6.0.3790.0 3E802496 (25th March 2003) 8,166,400 Windows Server 2003
6.0.3790.1830 424377D9 (25th March 2005) 8,379,392 Windows Server 2003 SP1
6.0.3790.3959 45D70ABB (18th February 2007) 8,359,936 Windows Server 2003 SP2
6.0.6000.16386 4549BDB4 (2nd November 2006) 11,314,688 Windows Vista
6.0.6001.18000 4791A73F (19th January 2008) 11,580,416 Windows Vista SP1
Windows Server 2008
6.0.6002.18005 49E037EC (11th April 2009) 11,584,000 Windows Vista SP2
6.1.7600.16385 4A5BDB01 (14th July 2009) 12,866,560 Windows 7

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).

For Windows Vista SP1 and Windows Server 2008, the binaries are identical, byte for byte.