I'm in the middle of a migration that seems to create problems. I want to migrate all User Data with everything and use USMT for it. Per default most of the User is backed up and that works also properly. Because I also want to save some other Information for the user I startet creating a custom XML.
The Error I get is in the output log:
2015-02-02 13:57:18, Error [0x08055d] MXE Agent: Migration XML C:\WKSBackup\myfile.xml is not properly formatted. Message: element should have some content.
I am looking now in to this problem since more then 4h and can't figure out why this is happening. I mean I was going through each element and can not see one that is empty. Any help or advice would be helpful
Attached is the content of the XML file
<?xml version="1.0" encoding="UTF-8" ?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/wallpaper">
<!--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>
<!-- This component migrates appdata local office-->
<component context="UserAndSystem" type="Application">
<displayName>Copy AppData roaming</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File"> %APPDATA%\Office</pattern>
<pattern type="File"> %APPDATA%\Excel</pattern>
<pattern type="File"> %APPDATA%\Powerpoint</pattern>
<pattern type="File"> %APPDATA%\Access</pattern>
<pattern type="File"> %APPDATA%\Outlook</pattern>
<pattern type="File"> %APPDATA%\OneNote</pattern>
<pattern type="File"> %APPDATA%\Signatures</pattern>
<pattern type="File"> %APPDATA%\Templates</pattern>
<pattern type="File"> %APPDATA%\UProof</pattern>
<pattern type="File"> %APPDATA%\Visio</pattern>
<pattern type="File"> %APPDATA%\Forms</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
<!--This component migrates appdata local office-->
<component context="UserAndSystem" type="Application">
<displayName>Copy AppData local</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File"> %LOCALAPPDATA%\Office</pattern>
<pattern type="File"> %LOCALAPPDATA%\Excel</pattern>
<pattern type="File"> %LOCALAPPDATA%\Powerpoint</pattern>
<pattern type="File"> %LOCALAPPDATA%\Access</pattern>
<pattern type="File"> %LOCALAPPDATA%\Outlook</pattern>
<pattern type="File"> %LOCALAPPDATA%\OneNote</pattern>
<pattern type="File"> %LOCALAPPDATA%\Signatures</pattern>
<pattern type="File"> %LOCALAPPDATA%\Templates</pattern>
<pattern type="File"> %LOCALAPPDATA%\UProof</pattern>
<pattern type="File"> %LOCALAPPDATA%\Visio</pattern>
<pattern type="File"> %LOCALAPPDATA%\Forms</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
<!--This component migrates DesktopData-->
<component context="UserAndSystem" type="Application">
<displayName>Copy DesktopData</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File"> %USERPROFILE%\Desktop</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
<!-- Mozilla Firefox - Modified for any version to migapp-->
<component context="UserAndSystem" type="Application">
<displayName _locID="migapp.firefox3">Mozilla Firefox</displayName>
<environment name="GlobalEnv" />
<environment name="GlobalEnvX64" />
<role role="Settings">
<detection>
<conditions>
<condition>MigXmlHelper.DoesObjectExist("Registry","%HklmWowSoftware%\Mozilla\Mozilla Firefox *.*\bin [PathToExe]")</condition>
</conditions>
</detection>
<rules context="User">
<destinationCleanup>
<objectSet>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles\*\Cache\* [*]</pattern>
</objectSet>
</destinationCleanup>
<include>
<objectSet>
<pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\* [*]</pattern>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles\* [*]</pattern>
</objectSet>
</include>
<exclude>
<objectSet>
<pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\Crash Reports\* [*]</pattern>
<pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\Profiles\*\ [pluginreg.dat]</pattern>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles\*\Cache\* [*]</pattern>
</objectSet>
</exclude>
<merge script="MigXmlHelper.SourcePriority()">
<objectSet>
<pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\* [*]</pattern>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- Google Chrome to migapp-->
<component context="UserAndSystem" type="Application">
<displayName _locID="migapp.chrome1">Google Chrome</displayName>
<environment name="GlobalEnv" />
<environment name="GlobalEnvX64" />
<role role="Settings">
<destinationCleanup>
<objectSet>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\*\Cache\* [*]</pattern>
</objectSet>
</destinationCleanup>
<detection>
<conditions>
<condition>MigXmlHelper.DoesObjectExist("Registry","%HklmWowSoftware%\Google\Chrome\")</condition>
</conditions>
</detection>
<rules context="User">
<include>
<objectSet>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\* [*]</pattern>
</objectSet>
</include>
<exclude>
<objectSet>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\*\Cache\* [*]</pattern>
</objectSet>
</exclude>
<merge script="MigXmlHelper.SourcePriority()">
<objectSet>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<component type="System" context="user">
<displayName _locID="miguser.User_Exclusions">User Exclusions</displayName>
<role role="Data">
<rules>
<unconditionalExclude>
<objectSet>
<pattern type="File">%CSIDL_DESKTOP%\* [*.msi]</pattern>
<pattern type="File">%CSIDL_DESKTOP%\* [*.exe]</pattern>
<pattern type="File">%CSIDL_DESKTOP%\* [*.lnk]</pattern>
<pattern type="File">%CSIDL_DESKTOP%\* [*.lnk2]</pattern>
<pattern type="File">%CSIDL_DESKTOPDIRECTORY%\* [*.msi]</pattern>
<pattern type="File">%CSIDL_DESKTOPDIRECTORY%\* [*.exe]</pattern>
<pattern type="File">%CSIDL_DESKTOPDIRECTORY%\* [*.lnk]</pattern>
<pattern type="File">%CSIDL_DESKTOPDIRECTORY%\* [*.lnk2]</pattern>
<pattern type="File">%CSIDL_DEFAULT_DESKTOP%\* [*.msi]</pattern>
<pattern type="File">%CSIDL_DEFAULT_DESKTOP%\* [*.exe]</pattern>
<pattern type="File">%CSIDL_DEFAULT_DESKTOP%\* [*.lnk]</pattern>
<pattern type="File">%CSIDL_DEFAULT_DESKTOP%\* [*.lnk2]</pattern>
<pattern type="File">%CSIDL_DEFAULT_PROGRAMS%\* [*]</pattern>
<pattern type="File">%CSIDL_DEFAULT_STARTMENU%\* [*]</pattern>
<pattern type="File">%CSIDL_DEFAULT_STARTUP%\* [*]</pattern>
<pattern type="File">%CSIDL_PROGRAMS%\* [*]</pattern>
<pattern type="File">%CSIDL_STARTMENU%\* [*]</pattern>
<pattern type="File">%CSIDL_STARTUP%\* [*]</pattern>
</objectSet>
</unconditionalExclude>
</rules>
</role>
</component>
<!-- This component EXCLUDES the following shared User specific stuff-->
<component type="System" context="System">
<displayName _locID="miguser.Shared_User_Exclusions">Shared User Exclusions</displayName>
<role role="Data">
<rules>
<unconditionalExclude>
<objectSet>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%\* [*.msi]</pattern>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%\* [*.exe]</pattern>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%\* [*.lnk]</pattern>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%\* [*.lnk2]</pattern>
<pattern type="File">%CSIDL_COMMON_PROGRAMS%\* [*]</pattern>
<pattern type="File">%CSIDL_COMMON_STARTMENU%\* [*]</pattern>
<pattern type="File">%CSIDL_COMMON_STARTUP%\* [*]</pattern>
<pattern type="File">%CSIDL_PROGRAMS%\* [*]</pattern>
<pattern type="File">%CSIDL_STARTMENU%\* [*]</pattern>
<pattern type="File">%CSIDL_STARTUP%\* [*]</pattern>
</objectSet>
</unconditionalExclude>
</rules>
</role>
</component>
</migration>
Problem is that microsoft does not support single elements...
<environment name="GlobalEnv" />
needed to be converted... hope this will help some one in the future