Welcome to shell: revealed Sign in | Join | Help
in Search

Shell Blog

Welcome to the Upgrade: A Sneak Peek into Windows Vista's Upgrade Architecture

A long, long time ago, before Windows Vista, techies preferred clean installing the latest release of Windows to upgrading. They knew that there was a lingering problem specific to upgrades that never really went away, long after application compatibility and driver issues had been resolved. This frustrating problem was simple: upgrades left behind tracks of the old OS. After upgrading, you would see binaries from the old operating system left around in the Windows installation directory and the registry was tatooed with keys that would never be used again. Some friends of mine just did a clean install even though they had to back up and restore files and reinstall applications because their PCs performed better this way.

This has all changed with Windows Vista. To borrow from Zune, "Welcome to the Upgrade" Or, in the words of Paul Thurrott , "the results surprised me"! Smile

Here are some major innovations in upgrades in Windows Vista:

Upgrades are super-charged Clean Installs

Upgrade to Windows Vista are no longer a 'merge' with the old OS. First, Windows Vista's setup gathers old OS settings and user settings and data and stores them. Then it wipes away the old OS and applies the new operating system image (which is really fast thanks to Image Based Setup). Next, setup applies stored settings and data to this clean install based on per-component logic in manifests and plug-ins, which magically brings back your applications and data in a brand new OS. Your registry and file system are free of goo that is no longer needed by Windows Vista.

Setup (and upgrade) is Componentized

When the Setup team started planning Longhorn, it owned all the Windows setup infrastructure. Unfortunately all roads lead to Setup - sometimes the oddest tasks that enable edge-case scenarios get piled on it, usually because setup is the last task that runs before a customer logs in and starts using the PC. This turned into a maintaibility nightmare for teams that maintained setup and for folks who had to write the next OS. When Longhorn planning started, an early (and smart) decision was made to componentize Windows, including Setup. The Setup team would provide infrastructure and extensibility points and 'feature teams' like Shell would own plug-ins that would perform specific upgrade tasks.

There are two ways upgrades benefit from componentization. First, Windows Vista components are described using XML manifests. Feature teams can write scripts in these manifests that describe rules for migrating data. This is a cheap, powerful way for feature teams to design and maintain their own upgrade logic. The upgrade engine also calls a few specialized 'upgrade plug-ins' (COM DLLs) that can perform more intricate tasks using APIs provided by setup to perform common gather and apply tasks.

Windows Vista enables future upgrades

Thanks to component manifests, Windows Vista can describe its entire 'state' to another operating system, including higher SKUs of Windows Vista! Setup extracts state information using the manifests present in the downlevel operating system. In a way, Windows Vista is already upgradeable to future release of Windows, as well as to higher editions of Windows Vista. For example, you can upgrade from Home Basic to Home Premium or Ultimate using the same technology that powers upgrades from Windows XP to Windows Vista.

Upgrades even became popular at Microsoft with highly critical 'self-hosters' who installed daily builds of Windows Vista and hated having to copy files and install applications on multiple PCs every day. However, I truly realized how far upgrades have come with Windows Vista when I upgraded our home PC from RC1 to RTM and my wife did not even notice the difference; all of our applications, photos, music, videos and settings were present. There has been no better time than now to upgrade to Windows Vista!

PS: As I finish writing this article, I realized that some of you will soon be buying PCs with Windows Vista pre-installed. Windows Easy Transfer (WET) is a program that ships with Windows Vista. You can use WET to migrate settings and data (but not applications) from an older PC running Windows XP to your new PC using a CD, DVD, network share or a special USB cable. It uses the same underlying technology as upgrades, so the vast majority of your valuable settings and data will be transferred.

Published Monday, November 27, 2006 7:18 PM by baslam
Filed under: , , ,

Comments

 

AddressOf.com said:

For the first time in history, upgrading from a previous release of Windows (Windows XP) to Windows Vista

November 28, 2006 2:21 AM
 

Jason Haley said:

November 28, 2006 11:28 PM
 

Jason Haley said:

November 28, 2006 11:34 PM
 

baslam said:

http://www.nytimes.com/2006/12/07/technology/07basics.html?pagewanted=2&ei=5087%0A&em&en=e181edfe77f08e96&ex=1165640400

New York Times talks about upgrading to Windows Vista. Interestingly, the author still thinks that a 'full install' is 'cleaner' than an upgrade.

December 7, 2006 11:44 AM
 

STEFANO DEMILIANI said:

Upgrade from Windows XP to Windows Vista

December 30, 2006 8:27 AM
 

StGeorge said:

That's all well and good, but my understanding is that when you buy an "upgrade" edition, you can only upgrade from Windows XP, are people expected to always install XP first and then upgrade? Why was the capability to do a clean install (assuming you have a valid XP CD or key as proof of ownership during setup) removed from the upgrade version?

January 1, 2007 11:58 PM
Anonymous comments are disabled

About baslam

I am Shell's deployment Program Manager. I love going for walks with my wife and two Shiba Inus, Leo and Maja. One of my dogs wrote this bio.
Powered by Community Server, by Telligent Systems © 2006 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement.