Microsoft Longhorn

Aero done right

A lot of people have been struggling to get Aero to work in build 4074. In this post I want to show you how Aero can be enabled along with a little history. If you came here looking for information about Aurora, please see my post about Aurora & Aero. A theme with two faces During the development of Longhorn the exact look of the Aero theme was kept a good secret.

Behind the wallpapers

Here’s just a funny tidbit I found some time ago to keep you guys entertained. In an interview on Channel9, Robert Scoble asks a designer on the Windows team, Jenny Lam some questions about Vista and how its coming up Channel9. During the interview the following comes up on the subject of wallpapers: S: So, when we’re going to get Vista, what are we going to see that is yours?

Branding APIs in Longhorn

After the painful experience of repeatedly changing names during the Windows XP and Windows Server 2003 development cycles, Microsoft decided to introduce a common, global branding API into Longhorn. The foundations of this system are present right from build 3683. A new API was introduced in the kernel, called RtlGetOSProductName, which was then exposed to user space through GetOSProductName in kernel32.dll. Dialogs like sysdm.cpl use this API to obtain branding information like the SKU and version.

Creating a sidebar tile in build 3683

A couple of years ago, I put together a sample tile written in .NET 1.1 / Visual Studio 2003 for Longhorn build 3683. This sample tile simply reads the current OS Version from Environment.OSVersion. There are two methods that your class must implement if you inherit from the BaseTile abstract class. The first is HasView: public abstract bool HasView(ModuleViewTypes view); This is used by the Sidebar to determine which “views” your tile supports.

Guide: WinFS and tasks in build 4042

A big new thing in Longhorn were the tasks and help topics integrated into Explorer. Many builds show an empty space where these tasks would go in Explorer’s task pane, but no tasks are showing. In this post I’ll describe the step-by-step process of getting these tasks to work on build 4042. The idea is that we go from an empty pane to a nice and completely filled pane like in the image below.

Managed C++, and the Longhorn Shell

Reading up on Longhorn’s development process, and you’ll read a lot about how the shell or user interface was redeveloped using the .NET Framework, and many people infer that this meant using C#, including a number of Microsoft employees. This has then been blamed for the poor performance of Longhorn and in particular, is often cited as the cause for its numerous memory leaks. Architecture Let’s take a step back for a moment and consider the shell improvements from a wider view.


“protoPlex” was a project that ran during 2008, organised by Thomas Hounsell and overlapping heavily with the Longhorn 08 team. The aim was to build on a Longhorn build 3718 base, and develop some early plex concepts demonstrated by Microsoft. Backups of the downloads below, and other files taken from the protoPlex project can be found on the Internet Archive. February 2008 CTP This was the only public release from the protoPlex project.

Revisiting the Online Photo Print Wizard

In this post I will have a look at how one can unlock the “full potential” of the wizard - to lift a corner of the veil: it doesn’t have a lot of potential. If you can vaguely remember me writing about exactly this subject a few years back… you are right, but with the switch to the WordPress powered website I totally forgot to place the original article back so here I am revisiting the subject C:

Running in VMWare

Driver Packages These packages are some extracted drivers from the VMWare Guest Additions. The tools themselves are not compatible with Longhorn, although the drivers themselves maintained compatibility for much longer. VMware 6.5 driver package VMware 6.5.2 driver package VMware 7.0 driver package Internet Archive Backup VMWare Configuration Tweaks In addition to the drivers above, you may wish to add the following lines to your virtual machine configuration file (*.vmx) to disable time sync:

Some build

I’m on some sort of “write down all the things” spree, documenting things I’ve found in the past, but never properly have written down here on Today I’d like to have a brief look at this unidentified build. In the video “Why I love XAML” on Channel9, published 20 August 2004, Joe Marini shows of an Avalon application powered by data binding, all of which is contained in a single XAML file.

The reset

The newest Windows product at the time of the reset in late 2004 was Windows Server 2003 SP1 RC, which was used as a base after the reset. The new codebase was first componentised before any new features were added to it. Work on componentising the Server 2003 codebase had already begun weeks before build 4093 was compiled. The post-reset range started at build 5000. The first post-reset builds were compiled by the vbl_core lab.

Theme Format and Aero

Thanks to Lucas Brooks for letting me use his post from BetaArchive. I did a bit of research on Longhorn’s theme format, and figured out some things perhaps never fully documented before. I wrote a .msstyles decompiler, that can turn compiled packthem v4 themes into .INIs and resources (like Windows XP themes). Theme Format Overview The theme format (.msstyles) changed fundamentally compared to Windows XP, even with the earliest leaked build of Microsoft Longhorn.