xmlmigrationmxe

Scanload / loadstate USMT Gives out Error 26 with the custom XML I created that should save additional data, error says element content missing


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>

Solution

  • 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