A significant part of pre-reset Longhorn’s new UI sits on the .NET Framework. Sidebar, preview pane, Avalon shell views, tiles, a handful of control panels — managed code shows up all over the place. That said, it is easy to overstate the story. The whole shell was not rewritten in C#, and explorer.exe itself is still good old native Win32.
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 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.
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.
This is the first post in a series that I’ll be doing. Hacking Avalon will be all about interesting stuff in Avalon. Furthermore, I hope to provide some background on how early variants of Avalon work together with the shell in Longhorn. Keep in mind, this series will mainly discuss the earliest revisions of Avalon found in Milestone 3 builds. The tricks may not always work on later builds. That’s it for the intro.
Always wanted to experiment with Avalon on Windows XP? In this second part of the “Hacking Avalon” series, we’re going to install not only Avalon but also some other Longhorn components. In this post, I will take Windows XP as example, but the installer is also compatible with Server 2003. Below is a description of the included components and their use.
In this third part of the Hacking Avalon series, we are taking a closer look at the process of making an Avalon application. To do this, we will be using a special tool only available in early Longhorn builds. This tool is called the Avalon Compiler or simply ac. This tool does what its name suggests; compile Avalon. What is that precisely?
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.