Files
windows-builder/setup-media-template/sources/replacementmanifests/microsoft-hyper-v-migration-replacement.man
2026-06-02 03:37:09 -07:00

107 lines
5.8 KiB
Groff

<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<assembly>
<assemblyIdentity
language="*"
name="Microsoft-Hyper-V-VStack-Config"
processorArchitecture="*"
version="0.0.0.0"
/>
<!--
To ensure that matching rules are used during the "gather" and "apply"
phases of an in-place upgrade, the following attributes should be updated
whenever a change is made to the...
onecore\vm\config\man\microsoft-windows-virtualization-vstack-config.man
...manifest:
/assembly/migration/@settingsVersion
This attribute should be incremented by one. Any new value must be
mirrored in manifest located here:
onecore\vm\config\man\microsoft-windows-virtualization-vstack-config.man
/assembly/migration/@replacementSettingsVersionRange
This attribute should be set to "0-(@settingsVersion-1)". For
example, if @settingsVersion is incremented to "4",
@replacementSettingsVersionRange should be "0-3".
Additionally, the contents of the...
/assembly/migration/migXml
...section should be mirrored between the two manifests.
-->
<migration
alwaysProcess="yes"
replacementSettingsVersionRange="0-1"
scope="Upgrade"
settingsVersion="2"
>
<!-- This is used during in-place upgrade -->
<migXml xmlns="">
<detects>
<detect>
<condition>MigXmlHelper.DoesObjectExist("File", "%systemroot%\system32 [vmms.exe]")</condition>
</detect>
</detects>
<rules context="System">
<include>
<objectSet>
<!-- Collect Hyper-V Server settings in the registry -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\* [*]</pattern>
<!-- Collect Hyper-V configuration files -->
<pattern type="File">%ProgramData%\Microsoft\Windows\Hyper-V\* [*]</pattern>
<!-- Collect files in the default Virtual Hard Disks folder -->
<pattern type="File">%ProgramData%\Microsoft\Windows\Virtual Hard Disks\* [*]</pattern>
</objectSet>
</include>
<exclude>
<objectSet>
<!-- Don't persist the Hyper-V Version value -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [Version]</pattern>
<!-- Don't persist the Hyper-V InstallDate value -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [InstallDate]</pattern>
<!-- Don't persist the Hyper-V CurrentVmVersion value -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [CurrentVmVersion]</pattern>
<!-- Don't persist the Hyper-V CompatibleVmVersion value -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [CompatibleVmVersion]</pattern>
<!-- Don't persist the Hyper-V MinimumImportVmVersion value. -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [MinimumImportVmVersion]</pattern>
<!-- Don't persist the Hyper-V CachedClusterLowestVersion value -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [CachedClusterLowestVersion]</pattern>
<!-- Don't persist the Hyper-V CachedClusterFunctionalLevel value -->
<!-- This can be removed when we do not support upgrade from Threshold. -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [CachedClusterFunctionalLevel]</pattern>
<!-- Don't persist the Hyper-V ConfigMinSupportedFullVmVersion value -->
<!-- This can be removed when we do not support upgrade from Threshold. -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [ConfigMinSupportedFullVmVersion]</pattern>
<!-- Don't persist the Hyper-V ConfigMinSupportedReadVmVersion value -->
<!-- This can be removed when we do not support upgrade from Threshold. -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [ConfigMinSupportedReadVmVersion]</pattern>
<!-- Don't persist the Hyper-V StateMinSupportedFullVmVersion value -->
<!-- This can be removed when we do not support upgrade from Threshold. -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization [StateMinSupportedFullVmVersion]</pattern>
<!-- Don't persist the Hyper-V Integration Services version keys -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestInstaller\* [*]</pattern>
<!-- Don't persist the Hyper-V Virtual Device registration info -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\VirtualDevices\* [*]</pattern>
<!-- Don't persist the Hyper-V WMI resource definition registration info -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\WMI\* [*]</pattern>
<!-- Don't persist the Hyper-V WMI Resource Pool registration info -->
<pattern type="Registry">HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\ResourcePools\* [*]</pattern>
</objectSet>
</exclude>
<merge script="MigXmlHelper.SourcePriority()">
<objectSet>
<!-- Always copy the Hyper-V configuration files and Azman store -->
<pattern type="File">%ProgramData%\Microsoft\Windows\Hyper-V\* [*]</pattern>
</objectSet>
</merge>
</rules>
</migXml>
</migration>
</assembly>