In migrating from Microsoft Windows XP to Windows 7 using USMT 4 and KACE KBOX2100, I ran into an issue with the migration of the user’s wallpapers.  I searched online for a complete solution, but couldn't find one so I present the following:

To properly migrate the wallpaper I had to make edits to the MigApp.xml, MigUser.xml and themeui-dl.man for both x86 and amd64.  I recommend using Notepad++ for editing xml files: http://notepad-plus-plus.org/

MigApp.xml:

In between the sections  “<!-- RealPlayer Basic 11 -->“ and “<!-- Windows Live -->” add the following code:

<migration urlid="http://www.microsoft.com/migration/externalUserDocs"> 
  <!-- This component migrates wallpaper settings -->
  <component type="System" context="User">
    <displayName>Wallpapers</displayName>
    <role role="Settings">
      <rules>
        <include>
          <objectSet>
            <pattern type="Registry">HKCU\Control Panel\Desktop [Pattern]</pattern>
            <pattern type="Registry">HKCU\Control Panel\Desktop [PatternUpgrade]</pattern>
            <pattern type="Registry">HKCU\Control Panel\Desktop [TileWallpaper]</pattern>
            <pattern type="Registry">HKCU\Control Panel\Desktop [WallPaper]</pattern>
            <pattern type="Registry">HKCU\Control Panel\Desktop [WallpaperStyle]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Windows\CurrentVersion\Themes [SetupVersion]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [BackupWallpaper]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [TileWallpaper]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [Wallpaper]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [WallpaperFileTime]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [WallpaperLocalFileTime]</pattern>
            <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [WallpaperStyle]</pattern>
            <content filter="MigXmlHelper.ExtractSingleFile(NULL, NULL)">
              <objectSet>
                <pattern type="Registry">HKCU\Control Panel\Desktop [WallPaper]</pattern>
                <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [BackupWallpaper]</pattern>
                <pattern type="Registry">HKCU\Software\Microsoft\Internet Explorer\Desktop\General [Wallpaper]</pattern>
              </objectSet>
            </content>
          </objectSet>
        </include>
      </rules>
    </role>
  </component>   <!-- This component migrates wallpaper files -->
  <component type="Documents" context="System">
    <displayName>Move JPG and BMP</displayName>
    <role role="Data">
      <rules>
        <include>
          <objectSet>
            <pattern type="File"> %windir% [*.bmp]</pattern>
            <pattern type="File"> %windir%\web\wallpaper [*.jpg]</pattern>
            <pattern type="File"> %windir%\web\wallpaper [*.bmp]</pattern>
          </objectSet>
        </include>
      </rules>
    </role>
  </component>
</migration>

MigUser.xml:

In between the sections “<!-- This component migrates Shared Favorites -->” and “<!-- This component migrates Quick Launch files -->” add the following code:

 <!-- This component migrates Internet Explorer Wallpapers -->
    <component type="System" context="User">
        <displayName _locID="miguser.iewallpaper">Internet Explorer Wallpaper</displayName>
        <paths>
            <path type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer</path>
        </paths>
        <role role="Settings">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Microsoft\Internet Explorer")</condition>
                </detect>
            </detects>
            <rules>
                <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
                    <objectSet>
                        <pattern type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer\* [*]</pattern>
                    </objectSet>
                </include>
                <merge script="MigXmlHelper.DestinationPriority()">
                    <objectSet>
                        <pattern type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer [*.bmp]</pattern>
                    </objectSet>
                </merge>
            </rules>
        </role>
    </component>

themeui-dl.man:

Change this line:

<pattern type="Registry">HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme [ThemeFile]</pattern>

To this:

<pattern type="Registry">HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme [Wallpaper]</pattern>

Following these procedures migrates the user's wallpaper from Windows XP to 7 while maintaining the aero desktop theme.

Make sure to edit both the x86 and amd64 versions of the files!  Also, it's a good idea to backup your original files just in kace...

 

Credit to rodney.buike for the following information:

http://thelazyadmin.com/2011/01/migrating-wallpapers-with-usmt/

 

Veritas Amor Pax