Just Let It Flow

August 26, 2014

The Road to Windows XP – Windows Whistler Build 2211

Filed under: Road To Windows XP,Windows — adeyblue @ 1:15 am

Build Tag: main.000309-1512

Video:
Download from Archive.org
Watch on Youtube:


So 38 days and nine builds after the humble beginnings of 2202 and we find ourselves with a build that categorically identifies itself as part of the next versions’ lineage. Sporting a desktop branding that’s both slightly awkward and long winded, ‘Whistler Windows 2001 Professional’ finally has some new features worthy of being mentioned.

Whistler 2211 Desktop

Before you even reach the desktop however, you get to recognize that this is no longer your daddy’s Windows 2000. The first grafts of code and components from the initial successor to 2000, an aborted project called Windows NepTune, are front and centre on the brand new logon screen.

Whistler 2211/NepTune Logon Screen

The new logon screen takes a registry tweak[1] to enable but functions just perfectly, with one caveat. One of its components, shgina.dll, contains some curious code in its DllMain, code which deletes the registry entry for the Users control panel. Despite the revisions the logon screen went through all the way upto final XP, from this HTML version to normal CreateWindow to DirectUI, this piece of code remained.

SHGina Reg Key Deletion

As another visual change, I mentioned in the post for the last build that the germination of the new nice and shiny common controls, those you need a manifest to get in final XP. And it does, though not completely. The initial incarnation of UxCtrl.dll which Raymond Chen recounts was the first stab at updating the controls, didn’t look nice and new at all. This wasn’t completely fault of uxctrl.dll though, to render some of the controls it looked for a shared memory mapping and window called ThemeMgrSharedMemory and ThemeMgrWindow respectively. Unfortunately neither string exists anywhere else in this build, so the updated rendering never happens. There’s no doubt Theme Manager was an early name for uxtheme.dll, especially since in the next build uxtheme makes its debut and presents such named shared memory.

2211UxCtrls

Even at this early stage, you could tell PC reliability and error management were a big part of Microsoft’s plans. This build implemented a big component of that strategy, Headless operation or as it became known EMS (Emergency Management Services). This feature allows remote administration of a Windows computer over an out-of-band (i.e. non-ethernet) network. It’s named headless as it doesn’t require the computer to have a monitor nor any input devices attached. Given that, it’s probably no surprise that it’s a feature mainly aimed for servers. Indeed, the component differs between servers and workstations. Servers have the fully featured SAC (Special Administrative Console) command prompt which can start processes, monitor memory and lots of other stuff. The build of 2211 available is a workstation build so only has the poor-relative !SAC prompt. The kernel also got a new API to be able to access this stream programmatically, though I feel sorry for anyone who actually wrote something against it. The API was remodeled into a single multi-purpose function by the next build.

Whistler 2211 headless operation over Telnet

To go along with the PC reliability stuff, ntbackup was upgraded with a fourth backup option that allowed creation of an ASR (Automated System Recovery) floppy disk. This option performs a regular backup of ‘\Windows’ and ‘\Program Files’ on the boot volume, then writes a bunch of setup-like sif/ini files to the floppy. Should your computer then get borked, you run setup from the CD/RIS, press F5 at the ASR prompt, insert the floppy and watch the magic happen. Setup restores your boot partition, runs enough of normal setup to be able to restore the full backup, and restores it.

Whistler 2211 ASR Floppy Files

The final thing worth mentioning is something that you would never see if you installed this and had a play around. You see, this build has all the resources to enable the seemingly hated “Show in Groups” Explorer feature. So much so, that there’s a hidden bit of unreferenced UI which would let you select the attribute to group by, albeit more clunkily that it finally turned out. The problem is not that it requires a registry tweak to enable or anything, it’s that although Explorer/shell32 (I forget which) has the code for the two supported ICategorizer’s, no code has been added to create them, so they sit unused.

Whistler 2211's Categorizer Dialog

Blink and you’ll miss it. Exists only in this build.

Other miscellaneous things introduced in this build include mouse button ClickLock, though there is no UI for it[2]. WebView Barricades (The ‘Are you sure you want to look at the files in C:\|System32|Program Files? pages) are now per user & per folder instead of per explorer session. Disk Management can now make GPT partitions, and MMC despite being version 1.2, got a Version 2 WordArt banner added to its resources.

WordArt in MMC's resources

That’s it for notable things in this build, the next contains a lot of hidden UI, the pretty useless rudiments of Fast User Switching and CD Burning, and as mentioned the introduction of uxtheme and a Visual Theme that the known internet had no knowledge of. Exciting!


Notes:
[1]: Set the LogonType value under HKLM\Software\Microsoft\Windows NT\Winlogon to 1

[2]: Change the UserPreferencesMask value at HKCU\Control Panel\Desktop from ‘xx 3E 00 80’ to ‘xx BE 00 80’ then logoff and log on again. SystemParametersInfo doesn’t recognize SPI_SETMOUSECLICKLOCK yet.

1 Comment »

  1. Very cool blog posts you have there!

    Comment by DiskingRound — February 14, 2015 @ 7:20 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress