Deploying Windows 7 - Part 14: Automated Migration from Windows XP to Windows 7

by [Published on 14 Jan. 2010 / Last Updated on 14 Jan. 2010]

This series of articles on deploying Windows 7 continues describing how to automate the migration of a Windows XP computer to Windows 7 while preserving user settings and data.

If you would like to read previous articles in this series, please go to:

Tip:
You can find more information about automating LTI deployment in the Windows 7 Resource Kit from Microsoft Press. I'm the lead author for this Resource Kit and I also maintain the Unofficial Support Site for the Windows 7 Resource Kit where you will find the latest updates and other useful information.

In the previous article of this series, we examined how MDT 2010 together with USMT 4.0 can be used to manually migrate a Windows XP computer to Windows 7 while maintaining the user settings and data on the computer. In this article we are going to fully automate the migration process.

To do this, use the Deployment Workbench on your MDT computer to open the properties of your deployment share. If you have worked through the previous article of this series then the Bootstrap.ini file for this share will look like this:

  • [Settings]
    Priority=Default
    [Default]
    DeployRoot=\\SEA-DC1\DeploymentShare$
    UserID=Administrator
    UserDomain=CONTOSO
    UserPassword=Pa$$w0rd
    KeyboardLocale=en-US
    SkipBDDWelcome=YES

This is fine as is. We do not need to modify Bootstrap.ini any further.

Now examine the CustomSettings.ini file for your deployment share, which should currently look like this:

  • [Settings]
    Priority=Default
    Properties=MyCustomProperty
    [Default]
    OSInstall=YES
    SkipAdminPassword=YES
    SkipApplications=YES
    SkipAppsOnUpgrade=YES
    SkipBDDWelcome=YES
    SkipBitLocker=YES
    SkipCapture=YES
    SkipComputerName=NO
    SkipComputerBackup=NO
    ComputerBackupLocation=AUTO
    SkipDeploymentType=NO
    SkipDomainMembership=YES
    JoinDomain=CONTOSO
    DomainAdmin=Administrator
    DomainAdminDomain=CONTOSO
    DomainAdminPassword=Pa$$w0rd
    SkipFinalSummary=NO
    SkipLocaleSelection=YES
    KeyboardLocale=en-US
    UserLocale=en-US
    UILanguage=en-US
    SkipPackageDisplay=YES
    SkipProductKey=YES
    SkipSummary=NO
    SkipTaskSequence=NO
    SkipTimeZone=YES
    TimeZoneName=Central Standard Time
    SkipUserData=NO
    UserDataLocation=AUTO

Here is where we need to make several changes in order to automate the migration process.

First, change this line:

  • SkipComputerName=NO

to the following:

  • SkipComputerName=YES

Doing this means you won't be prompted to rename the computer during the migration.

Next, change these two lines:

  • SkipComputerBackup=NO
    ComputerBackupLocation=AUTO

to the following:

  • SkipComputerBackup=YES
    ComputerBackupLocation=NONE

Of course, not backing up the computer before migrating it is not a good idea, but we will do this to speed up the walkthrough.

Next, change this line:

  • SkipDeploymentType=NO

to this:

  • SkipDeploymentType=YES

and add the following line below it:

  • DeploymentType=REFRESH

Doing this means that you won't be prompted to choose the type of deployment scenario to perform.

Next, change this line:

  • SkipTaskSequence=NO

to this:

  • SkipTaskSequence=YES

Then under this line add another line specifying the task sequence you will use for the migration, which in my own lab environment is the following:

  • TaskSequenceID=XP_TO_W7

Next, change this line:

  • SkipUserData=NO

to this:

  • SkipUserData=YES

Leave this line unchanged:

  • UserDataLocation=AUTO

This will cause user state information to be captured and restored using hard-line migration.

Finally, change these two lines:

  • SkipFinalSummary=NO
    SkipSummary=NO

to read as follows:

  • SkipFinalSummary=YES
    SkipSummary=YES

Doing this will hide the final summary screen of the Windows Deployment Wizard from the computer's user.

Having made all of these changes, your CustomSettings.ini file should now look like this:

  • [Settings]
    Priority=Default
    Properties=MyCustomProperty
    [Default]
    OSInstall=YES
    SkipAdminPassword=YES
    SkipApplications=YES
    SkipAppsOnUpgrade=YES
    SkipBDDWelcome=YES
    SkipBitLocker=YES
    SkipCapture=YES
    SkipComputerName=YES
    SkipComputerBackup=YES
    ComputerBackupLocation=NONE
    SkipDeploymentType=YES
    DeploymentType=REFRESH
    SkipDomainMembership=YES
    JoinDomain=CONTOSO
    DomainAdmin=Administrator
    DomainAdminDomain=CONTOSO
    DomainAdminPassword=Pa$$w0rd
    SkipFinalSummary=YES
    SkipLocaleSelection=YES
    KeyboardLocale=en-US
    UserLocale=en-US
    UILanguage=en-US
    SkipPackageDisplay=YES
    SkipProductKey=YES
    SkipSummary=YES
    SkipTaskSequence=YES
    TaskSequenceID=XP_TO_W7
    SkipTimeZone=YES
    TimeZoneName=Central Standard Time
    SkipUserData=YES
    UserDataLocation=AUTO

Before you perform the deployment, make sure that you have customized the users’ computer, for example, by copying a photo file to the My Pictures folder in her user profile as we did in the previous article of this series.

Now log onto the user's computer as Administrator, open a command prompt, and type the following command to launch the Windows Deployment Wizard on the computer:

\\SEA-DC1\DeploymentShare$\Scripts\LiteTouch.vbs

Instead of having to respond to various prompts of the wizard, the progress bar will immediately be displayed indicating that the user state information on the computer is being captured (Figure 1):


Figure 1: User state information is being captured

After a short time, the computer will reboot and MDT will begin applying the Windows 7 image to the computer. Once Windows 7 has been installed and the computer reboots for the last time, the progress bar will indicate that the captured user state information is being restored (Figure 2):


Figure 2: User state information is being restored

Once this is done, the user can log onto her refreshed computer and when she opens her Pictures library, she sees that the photo is still present, which indicates that her user state information has been successfully migrated (Figure 3):


Figure 3: The migration succeeded

Considerations when Migrating from Windows XP to Windows 7

Before you jump in and begin migrating all your Windows XP computers to Windows 7, you need to consider a few things.

First, if your Windows XP computers are old and do not have the hardware to properly support running Windows 7 on them, consider using the Replace Computer deployment scenario instead of the Refresh Computer scenario. In the Replace Computer scenario, MDT first uses USMT to capture user state information and save it to a network share. Then MDT performs a clean installation of Windows 7 on a brand-new computer. Finally, MDT uses USMT to restore the user state information to the new computer. In this scenario, the user gets a new computer and a new operating system but retains her existing user settings and data. Afterwards you send the users' old computers to the recycle mart.

Second, if your Windows XP computers have older applications that aren't compatible with Windows 7 then you'll need to use the application compatibility tools and strategies outlined in part 12 of this series before you can consider migrating the computers to Windows 7.

Third, if you plan on upgrading the applications on your Windows XP computers to newer versions of these applications, and if all important user data is redirected for storage on the network, then maybe you shouldn't migrate the computers at all. Instead, consider using the New Computer deployment scenario to deploy Windows 7 together with new applications onto either new or existing hardware, and forget about migrating user settings and data. After all, what better time to start from scratch than when you are migrating your desktop computers from an operating system that is approaching end of life?

Finally, if you want to customize which user settings and data are migrated and which are not migrated (for example to avoid migrating settings for older applications that are no longer needed) then you need to learn how to customize the XML migration files that govern how USMT works. In this case, you can begin learning more by reading Chapter 7 of the Windows 7 Resource Kit from Microsoft Press. This will give you a good introduction to how USMT can be customized, and if you need to dig deeper into this topic then see the User State Migration Tool 4.0 User's Guide in the TechNet Library here.

If you would like to read previous articles in this series, please go to:

Featured Links