Get Shiny with USMT: Turning the Aero Theme on During XP to Windows 7 Migration
Ned here again. Today’s post is quick and dirty… and glossy! One thing users notice immediately about Windows 7 is the default Aero theme. Even if you‘re not a fan of eye candy, your users are – and in the end they run the show in most environments. Especially when their business card says “VP” on it.
Consider the following scenario:
1. Windows XP users have the default display theme of "Windows XP".
2. You use USMT 4.0 to migrate from Windows XP to Windows 7.
3. After migrating to Windows 7 with USMT – using online or offline migrations -- any migrated users that logon have the old and busted "Windows Classic" theme:
… instead of the new hotness:
Why this happens
By default, USMT tries to copy a user’s theme to the target computer. But XP did not have the Aero theme. Worse, XP’s default theme was “Windows XP” which does not exist in Windows 7. The closest possible match is “Windows Classic” so that’s what USMT uses.
Whether or not this default behavior is desirable is open for polite debate in our comments area. :-)
How to get Aero by blocking theme migration
To override the default theme migration, use the following steps:
1. On your reference XP source computer with USMT 4.0 installed, run:
SCANSTATE.EXE /genconfig:config.xml /o
This will create a new customization config.xml file in the scanstate working directory.
2. Open the config.xml in notepad.exe.
3. Locate the following line in the config.xml file (this is wrapped for readability):
<component displayname="Microsoft-Windows-themeui-DL" migrate="yes" ID="https://www.microsoft.com/migration/1.0/migxmlext/cmi/microsoft-windows-themeui-dl/microsoft-windows-themeui-dl/settings"/>
4. Change the "yes" to "no", so that the line now is:
<component displayname="Microsoft-Windows-themeui-DL" migrate="no" ID="https://www.microsoft.com/migration/1.0/migxmlext/cmi/microsoft-windows-themeui-dl/microsoft-windows-themeui-dl/settings"/>
5. Save the config.xml file.
6. Run your usual scanstate and loadstate syntax, making sure to also include your new config file on the scanstate:
/config:config.xml
Disabling this component prevents the following registry keys from migrating (under the covers):
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionThemesLastTheme
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionThemes
And that’s it – now you have Aero.
Until next time.
- Ned “London Dungeon” Pyle
Comments
Anonymous
February 26, 2010
The comment has been removedAnonymous
February 26, 2010
The comment has been removedAnonymous
August 11, 2010
The comment has been removedAnonymous
August 11, 2010
I had never seen that before, but I took a guess in my repro and got it right: You do not have the DLManifests subfolder in the folder where you are running scanstate.exe When you copy the scanstate files onto the XL computer, make sure you copy all files from where USMT was installed from WAIK. If you leave behind the mnifests, XP will have no idea how to migrate system settings. Funny, this is the second symptom I've seen this week caused by people not copying that folder. Looks like I need to write something up. :)Anonymous
August 11, 2010
On the money, THANKS! I have a related question if I may... Using MDT's REFRESH capability to rebuild machines and it appears (although I haven't seen it explicitly called out) that when migrating from XP you need to create the config file on an XP machine, and when migrating from W7 you would generate it on a W7 system. Can the two files be merged and if not, how would you use the correct on in the correct scenario? Thanks HWAnonymous
August 11, 2010
The comment has been removedAnonymous
March 02, 2011
I'm confused about why you would use config.xml over the included miguser migdocs and migapps.xml files? Can't I use those files and add a custom file for my additions? For example can't I just use something like this: (I haven't quite worked out the syntax yet for selecting a key and ingoring a subkey ) <unconditionalExclude> <objectSet> <pattern type="Registry">HKCUSoftwareMicrosoftWindowsCurrentVersionThemesLastTheme*[]</pattern> <pattern type="Registry">HKCUSoftwareMicrosoftWindowsCurrentVersionThemes []</pattern> </objectSet> </unconditionalExclude>Anonymous
March 02, 2011
Because the vast majority of people don't want to write or edit XML. So config.xml becomes a much easier way to do things, by just setting YES or NO. They don't want to work out the syntax, and that's fine. You are in that 1% that want to do things "just so", Joe. :)Anonymous
March 02, 2011
Ok, so there's no advantage to doing it one way or another, other than simplicity? FYI I'm using XML Notepad 2007 and importing the MigXML.xsd. Seems to do the trick, much better than trying to do it by hand. Although I haven't really done anything involving logic yet, just simple copying of files and keys, I have collected all desktop shortcuts and redirected them to an "old shortcuts" folder.Anonymous
March 02, 2011
In this case, no real difference. In other cases config.xml might do more or less than you wanted for some particular settings. It's never going to be as perfectly granualr as custom XML for most people, it mainly exists for the 99%. I use Visual Studio Express, myself :) blogs.technet.com/.../usmt-custom-xml-the-free-and-easy-way.aspx Your way works well too. Whatever floats your boat.