<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/customexclude">

  <!-- This component migrates data in user context -->
  <component type="Documents" context="User">
    <displayName>MigDocUser</displayName>
    <role role="Data">
      <rules>
        <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
          <objectSet>
            <script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","TRUE")</script>
          </objectSet>
        </include>
        <include>
          <objectSet>
            <script>MigXmlHelper.GenerateDrivePatterns ("*[*.snt]","Fixed")</script>
          </objectSet>
        </include>
        <exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
          <objectSet>
            <script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","TRUE")</script>
          </objectSet>
        </exclude>
        <contentModify script="MigXmlHelper.MergeShellLibraries('TRUE','TRUE')">
          <objectSet>
            <pattern type="File">*[*.library-ms]</pattern>
          </objectSet>
        </contentModify>
        <merge script="MigXmlHelper.SourcePriority()">
          <objectSet>
            <pattern type="File">*[*.library-ms]</pattern>
          </objectSet>
        </merge>
      </rules>
    </role>
  </component>

    <!-- This component migrates Outlook profiles and data -->
    <component type="Documents" context="User">
        <displayName>Outlook Profiles and Data</displayName>
        <paths>
            <path type="Registry">HKCU\Software\Microsoft\Office</path>
            <path type="File">%CSIDL_APPDATA%\Microsoft\Outlook</path>
            <path type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook</path>
            <path type="File">%CSIDL_APPDATA%\Microsoft\Signatures</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("Registry","HKCU\Software\Microsoft\Office")</condition>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Microsoft\Outlook")</condition>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook")</condition>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Microsoft\Signatures")</condition>
                </detect>
            </detects>
            <rules>
                <include >
                  <objectSet>
                    <pattern type="Registry">HKCU\Software\Microsoft\Office\16.0\Outlook\Profiles\* [*]</pattern>
                    <pattern type="Registry">HKCU\Software\Microsoft\Office\15.0\Outlook\Profiles\* [*]</pattern>
                    <pattern type="File">%CSIDL_APPDATA%\Microsoft\Outlook\* [*]</pattern>
                    <pattern type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook\* [*]</pattern>
                    <pattern type="File">%CSIDL_APPDATA%\Microsoft\Signatures\* [*]</pattern>
                  </objectSet>
                </include>
            </rules>
        </role>
    </component>
	
    <!-- This component migrates iTunes backups -->
    <component type="Documents" context="User">
        <displayName>iTunes Device Backups</displayName>
        <paths>
            <path type="File">%CSIDL_APPDATA%\Apple Computer\MobileSync\Backup</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Apple Computer\MobileSync\Backup")</condition>
                </detect>
            </detects>
            <rules>
                <include >
                  <objectSet>
                    <pattern type="File">%CSIDL_APPDATA%\Apple Computer\MobileSync\Backup\* [*]</pattern>
                  </objectSet>
                </include>
            </rules>
        </role>
    </component>

    <!-- This component migrates FileZilla data -->
    <component type="Documents" context="User">
        <displayName>FileZilla Settings</displayName>
        <paths>
            <path type="File">%CSIDL_APPDATA%\FileZilla</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\FileZilla")</condition>
                </detect>
            </detects>
            <rules>
                <include >
                  <objectSet>
                    <pattern type="File">%CSIDL_APPDATA%\FileZilla\* [*]</pattern>
                  </objectSet>
                </include>
            </rules>
        </role>
    </component>

    <!-- This component migrates Google Chrome profiles (excluding cookies, cache, and saved passwords) -->
    <component type="Documents" context="User">
        <displayName>Google Chrome Profiles and Data</displayName>
        <paths>
            <path type="File">%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\Default</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\Default")</condition>
                </detect>
            </detects>
            <rules>
                <externalProcess when="pre-scan">
                    <commandLine>taskkill.exe -IM chrome.exe /F</commandLine>
                </externalProcess>
                <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\Default\Cache\* [*]</pattern>
                    <pattern type="File">%CSIDL_LOCAL_APPDATA%\Google\Chrome\User Data\Default\* [Cookies*]</pattern>
                  </objectSet>
                </exclude>
            </rules>
        </role>
    </component>

    <!-- This component migrates Mozilla Firefox profiles (excluding cookies and cache) -->
    <component type="Documents" context="User">
        <displayName>Mozilla Firefox Profiles and Data</displayName>
        <paths>
            <path type="File">%CSIDL_APPDATA%\Mozilla\Firefox\Profiles</path>
            <path type="File">%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Mozilla\Firefox\Profiles")</condition>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles")</condition>
                </detect>
            </detects>
            <rules>
                <externalProcess when="pre-scan">
                    <commandLine>taskkill.exe -IM firefox.exe /F</commandLine>
                </externalProcess>
                <include >
                  <objectSet>
                    <pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\Profiles\* [*]</pattern>
                    <pattern type="File">%CSIDL_LOCAL_APPDATA%\Mozilla\Firefox\Profiles\* [*]</pattern>
                  </objectSet>
                </include>
                <exclude>
                  <objectSet>
                    <pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\Profiles\* [*cookies.sqlite*]</pattern>
                    <pattern type="File">%CSIDL_APPDATA%\Mozilla\Firefox\Profiles\* [*webappsstore.sqlite*]</pattern>
                  </objectSet>
                </exclude>
            </rules>
        </role>
    </component>

    <!-- This component migrates PuTTY data -->
    <component type="Documents" context="User">
        <displayName>PuTTY Settings and Data</displayName>
        <paths>
            <path type="Registry">HKCU\Software\SimonTatham\PuTTY</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("Registry","HKCU\Software\SimonTatham\PuTTY")</condition>
                </detect>
            </detects>
            <rules>
                <include >
                  <objectSet>
                    <pattern type="Registry">HKCU\Software\SimonTatham\PuTTY\* [*]</pattern>
                    <pattern type="File">%CSIDL_APPDATA%\ [PUTTY.RND]</pattern>
                  </objectSet>
                </include>
            </rules>
        </role>
    </component>

    <!-- This component migrates WinSCP data -->
    <component type="Documents" context="User">
        <displayName>WinSCP Settings and Data</displayName>
        <paths>
            <path type="Registry">HKCU\Software\Martin Prikryl\WinSCP 2</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("Registry","HKCU\Software\Martin Prikryl\WinSCP 2")</condition>
                </detect>
            </detects>
            <rules>
                <include >
                  <objectSet>
                    <pattern type="Registry">HKCU\Software\Martin Prikryl\WinSCP 2\* [*]</pattern>
                    <pattern type="File">%CSIDL_APPDATA%\ [winscp.rnd]</pattern>
                  </objectSet>
                </include>
            </rules>
        </role>
    </component>

</migration>

