How can I migrate applications during an OS upgrade to Windows Vista?
When you upgrade an OS, you need to be sure to maintain the many settings and data sources, such as user configuration, user data, machine settings, and application components (e.g., program executables and DLLs). In a pre-Vista upgrade, maintaining this information wasn't a problem; the new OS files were overlaid on the previous OS files with registry configuration, dll registration, and other data left intact. However, Vista introduces a new deployment process in which the hard disk is wiped (except for select areas) and a clean installation is performed.

Tools such as the File and Settings Transfer Wizard (called Easy Transfer Wizard in Vista) and the User State Migration Tool (USMT) can help you migrate machine and user information, but these tools won't migrate applications. This application migration is vital for an upgrade of Vista and is implemented as part of the Vista setup process by essentially looking at the down-level OS (e.g., Windows XP) and separating the Windows components from non-Windows components. The non-Windows components are copied to a safe area on the disk. The setup process then cleans the disk, lays down the Vista image, then puts back the nonWindows components. To the user, it appears as though an upgrade has been performed because his or her settings, data, and applications are all present.

So how do you migrate applications outside of Vista setup? First, be aware that just because application migration is possible doesn't mean it's desirable. In general, in enterprise environments, a fresh installation of Vista and subsequent deployment of applications via Group Policy or Microsoft Systems Management Server (SMS) is preferable to avoid carrying over old garbage from the previous OS.

The engine used by the Vista upgrade process shares much of its code with the Windows Easy Transfer Wizard, which is a core part of Vista. However, the wizard doesn't migrate applications. Microsoft will soon release the Windows Easy Transfer Companion, which will help you migrate applications and will be available to all Windows Genuine Advantage users. Therefore one solution is to wait for the Windows Easy Transfer Companion to migrate applications.

Another solution is to use the Vista setup engine, which means deploying Vista via Business Desktop Deployment (BDD) 2007 or any other method that calls the Vista setup routine. You can also use third-party migration tools such as Laplink Software's PCmover to migrate applications. Although migrating applications is possible, be aware that compatibility problems are common. At least the Vista upgrade process will first run a compatibility check to identify problem applications and drivers and force a removal prior to migration. That's usually a safer solution than simply migrating applications and risking breaking the newly deployed OS.