Skip to content

Instantly share code, notes, and snippets.

@gioxx
Created September 22, 2014 10:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gioxx/2e07c65f06d9cf6c35ec to your computer and use it in GitHub Desktop.
Save gioxx/2e07c65f06d9cf6c35ec to your computer and use it in GitHub Desktop.
XML di migrazione dati per Windows XP e Microsoft USMT 3
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/gfsolone-migdomCustom">
<!-- CUSTOM MIGRATION FILE for USMT 3+ (reccomended for USMT 3 and Windows Xp) with AppData Migration
GSolone 02/2013 | V1.2 | 20130507-rev0
gioxx.org // giovanni.solone.it // dev@gfsolone.com
This custom file doesn't sync SHARED MUSIC-VIDEOS-DOCUMENTS-PICTURES-FAVORITES
This custom file also include: Google Drive Folder, Dropbox Folder (if respective folder are into user profile root folder)
REMEMBER to include also MigApp.xml!
Original discussion: http://social.technet.microsoft.com/Forums/uk/w7itpronetworking/thread/49927e78-74cf-43cb-ae0f-ec1886d8ec34
-->
<!-- Credits
http://social.technet.microsoft.com/Forums/eu/configmgrosd/thread/9c1054e4-8290-4625-89df-caf7c3b40350
http://www.windows-noob.com/forums/index.php?/topic/5965-usmt-40-custom-folders/
http://www.petervanderwoude.nl/post/some-basic-usmt-4-0-actions-explained/
http://technet.microsoft.com/en-us/library/cc765979(v=ws.10).aspx#Example4
http://technet.microsoft.com/en-us/library/cc749015(v=ws.10).aspx
http://technet.microsoft.com/en-us/library/cc766226(v=ws.10).aspx
In case of ERROR 26: http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/c9560ab5-0faf-4079-8f44-316b81c25ac3
PAY ATTENTION TO Migration URLID!
In case of ERROR "A temporary profile is currently active on the system" http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/34a93bd7-826d-409c-96b7-188d0d3cbd11
PAY ATTENTION TO BAK PROFILE IN REGEDIT!
-->
<!-- This component migrates Desktop files -->
<component type="Documents" context="User">
<displayName _locID="miguser.desktop">Desktop</displayName>
<paths>
<path type="File">%CSIDL_DESKTOP%</path>
</paths>
<role role="Settings">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_DESKTOP%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_DESKTOP%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_DESKTOP% [desktop.ini]</pattern>
<pattern type="File">%CSIDL_DESKTOP%\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates Shared Desktop files -->
<component type="Documents" context="System">
<displayName _locID="miguser.shareddesktop">Shared Desktop</displayName>
<paths>
<path type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%</path>
</paths>
<role role="Settings">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_COMMON_DESKTOPDIRECTORY%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY% [desktop.ini]</pattern>
<pattern type="File">%CSIDL_COMMON_DESKTOPDIRECTORY%\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates Start Menu files -->
<component type="System" context="User">
<displayName _locID="miguser.startmenu">Start Menu</displayName>
<paths>
<path type="File">%CSIDL_STARTMENU%</path>
</paths>
<role role="Settings">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_STARTMENU%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_STARTMENU%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_STARTMENU% [desktop.ini]</pattern>
<pattern type="File">%CSIDL_STARTMENU%\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates Shared Start Menu files -->
<component type ="System" context="System">
<displayName _locID="miguser.sharedstartmenu">Shared Start Menu</displayName>
<paths>
<path type="File">%CSIDL_COMMON_STARTMENU%</path>
</paths>
<role role="Settings">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_COMMON_STARTMENU%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_COMMON_STARTMENU%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_COMMON_STARTMENU% [desktop.ini]</pattern>
<pattern type="File">%CSIDL_COMMON_STARTMENU%\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates My Documents files -->
<component type="Documents" context="User">
<displayName _locID="miguser.mydocs">My Documents</displayName>
<paths>
<path type="File">%CSIDL_PERSONAL%</path>
</paths>
<role role="Data">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_PERSONAL%")</condition>
</detect>
</detects>
<rules>
<exclude>
<objectSet>
<pattern type="File">%CSIDL_MYMUSIC%\* [*]</pattern>
<pattern type="File">%CSIDL_MYPICTURES%\* [*]</pattern>
<pattern type="File">%CSIDL_MYVIDEO%\* [*]</pattern>
</objectSet>
</exclude>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_PERSONAL%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_PERSONAL% [desktop.ini]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates Favorites -->
<component type="System" context="User">
<displayName _locID="miguser.favs">Favorites</displayName>
<paths>
<path type="File">%CSIDL_FAVORITES%</path>
</paths>
<role role="Settings">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_FAVORITES%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_FAVORITES%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_FAVORITES% [desktop.ini]</pattern>
<pattern type="File">%CSIDL_FAVORITES%\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates My Pictures files -->
<component type="Documents" context="User">
<displayName _locID="miguser.mypics">My Pictures</displayName>
<paths>
<path type="File">%CSIDL_MYPICTURES%</path>
</paths>
<role role="Data">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_MYPICTURES%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_MYPICTURES%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_MYPICTURES% [desktop.ini]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates My Music files -->
<component type="Documents" context="User">
<displayName _locID="miguser.mymusic">My Music</displayName>
<paths>
<path type="File">%CSIDL_MYMUSIC%</path>
</paths>
<role role="Data">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_MYMUSIC%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_MYMUSIC%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_MYMUSIC%\ [desktop.ini]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates My Video files -->
<component type="Documents" context="User">
<displayName _locID="miguser.myvideo">My Video</displayName>
<paths>
<path type="File">%CSIDL_MYVIDEO%</path>
</paths>
<role role="Data">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_MYVIDEO%")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_MYVIDEO%\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_MYVIDEO% [desktop.ini]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates AppData (Local, Roaming, LocalLow) -->
<component type="Documents" context="User">
<displayName _locID="miguser.appdata">All files in AppData</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">%CSIDL_PROFILE%\AppData\* [*]</pattern>
<!-- Windows XP IT Specific Edit -->
<pattern type="File">%CSIDL_PROFILE%\Impostazioni Locali\* [*]</pattern>
<pattern type="File">%CSIDL_PROFILE%\Dati applicazioni\* [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
<!-- This component migrates Dropbox folder -->
<component type="Documents" context="User">
<displayName _locID="miguser.appdata">Dropbox Folder</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">%CSIDL_PROFILE%\Dropbox\* [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
<!-- This component migrates Google Drive folder -->
<component type="Documents" context="User">
<displayName _locID="miguser.appdata">Google Drive Folder</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">%CSIDL_PROFILE%\Google Drive\* [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
<!-- This component migrates Quick Launch files -->
<component type="System" context="User">
<displayName _locID="miguser.quicklaunch">Quick Launch</displayName>
<paths>
<path type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer\Quick Launch</path>
</paths>
<role role="Settings">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Microsoft\Internet Explorer\Quick Launch")</condition>
</detect>
</detects>
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer\Quick Launch\* [*]</pattern>
</objectSet>
</include>
<merge script="MigXmlHelper.DestinationPriority()">
<objectSet>
<pattern type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer\Quick Launch [desktop.ini]</pattern>
<pattern type="File">%CSIDL_APPDATA%\Microsoft\Internet Explorer\Quick Launch\* [*]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
<!-- This component migrates user files with known extension-->
<component type="Documents" context="System">
<displayName _locID="miguser.userdata">User Data</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qdf]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qsd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qel]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qph]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.doc*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.dot*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.rtf]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mcw]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wps]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.scd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wri]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wpd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.xl*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.csv]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.iqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.dqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.oqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.rqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wk*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wq1]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.slk]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.dif]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.ppt*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pps*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pot*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.sh3]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.ch3]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pre]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.ppa]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.txt]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pst]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.one*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.vl*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.vsd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mpp]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.or6]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.accdb]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mdb]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pub]", "Fixed")</script>
</objectSet>
</include>
<!-- Uncomment the following if you want all the files collected from the above rules to move to <systemDrive>:\data -->
<!-- <locationModify script="MigXmlHelper.Move('%SYSTEMDRIVE%\Data')">
<objectSet>
<objectSet>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qdf]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qsd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qel]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.qph]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.doc*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.dot*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.rtf]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mcw]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wps]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.scd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wri]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wpd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.xl*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.csv]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.iqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.dqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.oqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.rqy]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wk*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.wq1]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.slk]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.dif]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.ppt*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pps*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pot*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.sh3]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.ch3]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pre]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.ppa]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.txt]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pst]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.one*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.vl*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.vsd]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mpp]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.or6]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.accdb]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mdb]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.pub]", "Fixed")</script>
</objectSet>
</locationModify>
-->
<exclude>
<objectSet>
<pattern type="File">%PROFILESFOLDER%\* [*]</pattern>
<pattern type="File">%CSIDL_WINDOWS%\* [*]</pattern>
<pattern type="File">%CSIDL_PROGRAM_FILES%\* [*]</pattern>
<!--We are trying to remove system files from other windows installation on the same machine-->
<!--This is the best guess we can come up with, in case of these folder name localized, we might not be
to do whatever we have intended here-->
<script>MigXmlHelper.GenerateDrivePatterns ("\Program Files\* [*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("\Winnt\* [*]", "Fixed")</script>
<script>MigXmlHelper.GenerateDrivePatterns ("\Windows\* [*]", "Fixed")</script>
</objectSet>
</exclude>
</rules>
</role>
</component>
</migration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment