This article originally appeared as "A new componentized architecture for creating product editions" in The Road to Windows Longhorn 2003, but has been updated extensively.

Like Windows XP Embedded, but unlike previous desktop and server Windows versions, Longhorn will be completely componentized, a feature I've been clamoring for over the years, for both Windows and Office. Componentization has numerous benefits over the current "thing on a thing" development approach, where new features are simply heaped on top of the previous code-base with each new product revision, like a house of cards is precariously shifting in the breeze. With a componentized approach, for example, end users, IT administrators, and PC makers will be able to easily specify exactly which applications and services get installed with Windows. Mark Myers, an OEM Manufacturing Program Manager at Microsoft, tells me this feature won't be as "fine-grained" as it is in XP Embedded, however, where device makers can literally specify ever single feature. The reason is that desktop OSes have more dependencies than embedded devices, which are generally created once and then never changed; desktop OSes, however, are often upgraded and changed by end users and applications.

But componentization goes far beyond allowing users to select what gets installed, especially when you do it right, as Microsoft appears to be with Longhorn. With this release, Windows is being broken down into several logical building blocks, which will give Microsoft and its partners a myriad of new functionality when creating various Windows versions. At the lowest level is what Myers calls the "base OS" component, or MinWin, which is about 95 percent of the total Longhorn code base. This base OS component is completely language independent and is a subset of all of the editions of Longhorn Microsoft will create. Thus, Microsoft and its hardware partners will be able to use this base OS to create actual Longhorn editions (referred to as Longhorn "SKUs" after a retailing term); at this time it appears that IT administrators (and individuals, naturally), will not be able to perform this feat, but will rather license specific Windows SKUs and go from there.

To create Windows Longhorn SKU #1, for example, which is called XP Home Edition today (though the name will likely change, I'm told), Microsoft or a hardware partner simply has to add the "Home" component to the base OS and--voila!--Longhorn SKU # 1 is created. To create Longhorn SKU #2--what we call XP Professional Edition today (though, again, that name will likely change)--one simply adds the Professional component to the base OS (SKU #2 contains everything in SKU #1 plus SKU #2-specific features); Because SKU #2 is a true superset of SKU #1, it actually builds off SKU #1 from a logical standpoint. This is, of course, the case with XP Home and Pro today as well.

The remaining two Longhorn editions are familiar, and both build off of Longhorn SKU #2 (Pro). These include Longhorn Tablet PC Edition and Longhorn Media Center Edition and, yes, this represents the first official verification that these product editions will exist in Longhorn. So there you have it: Longhorn will definitely include Home, Pro, Tablet PC, and Media Center editions, though the Home and Pro editions could be renamed. There are other related issues, of course. For example, all Longhorn versions will likely include some of the basic TV functionality that's now included only in Media Center Edition; details have yet to be resolved.


Image courtesy Microsoft Corporation

New deployment and Setup tools

Longhorn's new modular architecture will have sweeping ramifications for how Longhorn is created, installed by end users, deployed in corporate settings, and updated over time with service packs and hot-fixes (QFEs). Interestingly, Microsoft actually went the distance with the componentization approach and created a bootable image of the Longhorn base OS. This bootable image will allow users to install Longhorn much more quickly than was possible in the past, as it eliminates a lot of the time-consuming file copy and Registry population phases that were present in previous Windows versions. In Longhorn, the first phase of setup simply copies this single image file--referred to as the WinPE (Windows pre-installation environment)--to the hard drive, and then reboots the system. When your system boots into WinPE, which is basically a miniature operating system consisting of the core Longhorn features, it boots immediately, because the image ships already "installed." Then, the MinWin mini-OS runs a totally rewritten PnP routine that quickly identifies your exact hardware configuration, installs the correct drivers, and ... that's it ... You're up and running. Myers says the goal is for an unattended setup of Longhorn to take less than 15 minutes from start to finish. Compared to the 45- to 60-minute install time for Windows XP, that's amazing, though Longhorn pre-alphas are still quite slow. Microsoft hasn't done any performance tuning, yet, of course, and is sure we'll see dramatic improvements over time.

So let's look at some of the many ways this new architecture changes things. First, the Longhorn retail and OEM CDs will finally be identical (the OEM CDs are the ones you get with new PCs from PC makers like Dell, Gateway, and IBM). In the past, Microsoft maintained separate builds for each version (and separate builds for other Windows versions, like the ones you might get from MSDN), but that practice is obsolete in Longhorn, because it caused delays in getting product out to certain countries. "We call this CD unification," Myers said. "We will ship one RTM CD ... for Longhorn, to retail and OEMs. Our OEM partners can brand and extend the OS as they did before. The retail version will ship at same time branded with Microsoft's stuff. But the two products will be the same."

To work with the Longhorn-era version of WinPE, Microsoft will supply a replacement for Sysprep, its OS deployment technology. Unattended installations will utilize a new XML-based version of the unattend.txt file named, appropriately enough, unattend.xml. "With setup.exe and unattend.xml, you can build any customized version of Longhorn you want," Myers noted. This will be a huge boon for IT organizations, companies that implement build-to-order systems, like Dell, and I imagine, enthusiasts who want to tweak their Windows installs. Imagine Dell's Web site in two years: You customize the system you want online and click the "Buy now" button or whatever. Behind the scenes, a Web service on Dell's Web site constructs the customized unattend.xml file that will build your exact system. Fifteen minutes after the physical PC is completed, the system is loaded with your exact Longhorn configuration: No need for PnP, no lengthy entering of user data, and no after-boot hardware detection. It's exciting stuff, and it will enable PC makers to call up your exact configuration if a support call comes in.

But wait, there's more.

Internationalization is another area that will see dramatic improvements, thanks to the new modular Longhorn architecture. In the past, international versions of Windows were basically built off of the US English version, causing a certain amount of code redundancy. But in Longhorn, the core OS code and data is entirely language-neutral, so US English is added to the base OS as any other language would be. So creating, say, the French version of Longhorn Tablet PC Edition will simply involve scripting an install that includes the base Longhorn OS, the Longhorn SKU #2 components, the Longhorn Tablet PC Edition components, and the French language component. This means that international versions of Longhorn --for the first time ever--will contain no traces at all of its English language underpinnings. In the past, PC companies would often ship Windows versions in Europe that contained various languages; during Setup, the user would choose which language to use, and then Setup would delete all of the support files for the other languages, a time consuming process, and one that involved shipping a lot of extraneous code to customers. Those issues are gone with Longhorn.

For maintaining Longhorn, the new componentization work will reap benefits well into the future. Let's say it's time to ship Longhorn Service Pack 1. In the past, this would have meant different SP1 versions for all the international and special product versions of Windows. But in Longhorn, there will be only one SP1 release for every single edition, though I'd imagine that language- or SKU-specific updates will still be released separately. Having just a single update target simplifies things dramatically for Microsoft, of course, but it also makes life easier for IT administrators trying to roll out updates across an enterprise. It doesn't get any easier than having just a single software target. When you combine that functionality with the delta download capabilities of the new Windows Update/Microsoft Update that Microsoft is rolling out this year, you get a very different updating picture than we have today: Software updates will be smaller, easier to install, and require fewer reboots. Good stuff.

Another related change is that the old OEM Preinstallation Kit (OPK) is being replaced by the Longhorn Deployment Toolkit (LDT). This new toolkit will provide system makers with an end-to-end solution for creating the OS images and modifications described above. OS images created with the LDT are dynamic, in that they can be updated with new drivers, OS updates, and other components after they are created. So a PC maker might make an image for a specific PC configuration running Longhorn SKU #1 (Home Edition) and then simply add the SKU #2 components and create a second image for what might be called Professional Edition. When the inevitable QFEs and service packs ship, it's simply a matter of adding those components to the OS images. You never have to start over from scratch, as you do today. And Microsoft will finally be providing some pretty GUI tools that will make this task simpler than ever.

Because Microsoft wants to get system builders going on the new LDT as soon as possible, the company will ship two interim versions of WinPE that targets Windows XP Service Pack 2 (SP2) and Windows Server 2003 Service Pack 1 (SP1), respectively, later this year. These interim WinPE versions will help Microsoft's PC maker partners and largest customers become familiar with the new tools and imaging technology, and help bridge the gap between the past and the future: The interim versions will also help companies do away with their DOS-based tools dependencies, and learn how to add software applications directly into OS images. The next version of Microsoft Office, now known only as Office 12, will use this technology as well and, I'm told, ship concurrently with Windows Longhorn.

I'm hoping to learn more about Microsoft's plans for Longhorn setup and deployment at the WinHEC 2004 tradeshow, which occurs next month (May 2004). I'll update this article with any information I obtain at the show. But I can answer one obvious question: To date, none of the Longhorn pre-alpha builds we've seen have shipped with Microsoft's new desployment tools, so there's no way to test this functionality now. I'm told we can expect to see the tools in a future pre-Beta 1 build later this year.