Web Deploy regValue Provider

Applies To: Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP


The regValue provider synchronizes registry values between a source computer and a destination computer.


msdeploy -verb:sync -xml -source:regValue=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inetmgr\7.0\RemoteChannel -dest:auto,computername=Server3

The regValue provider returns a registry value from a source computer, or synchronizes a registry value from a source computer to a destination computer. The provider takes an argument that specifies a registry key value such as HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inetmgr\7.0\RemoteChannel. If the registry path you specify contains spaces, you must enclose the path in double quotation marks. The abbreviations HKCR, HKCU, HKLM, HKU, and HKCC can be substituted for HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, and HKEY_CURRENT_CONFIG, respectively.

In a dump operation, the registry path that you specify as an argument will be returned. If you specify the -xml operation setting, the values under the registry path will be returned as attributes in the XML markup. If you do not specify the -xml operation setting, only the registry path will be returned. If the argument that you specify is a registry key node and not a value, the default value for that node will be returned if a default value has been assigned to the node. For the default value to be returned, you must end the path in a trailing backslash.

In a sync operation, if the registry keys on the source and the destination computers have the same name but different value types (for example, DWORD vs. Binary), the synchronization will fail. ACLs for registry values are preserved in a synchronization operation, but certain paths in the registry can require administrator permissions. The provider will fail if it does not have the necessary permissions to access the registry values that you specify.

Synchronizing custom 32–bit application code in a 64–bit environment

The following scenarios may be important if you want to synchronize custom 32–bit code that has values in the registry.

  • Synchronize a 32–bit application from a 32–bit operating system to a computer with a 64–bit operating system, and run the application as 32–bit on the destination computer.

  • Synchronize a 32–bit application from a 64–bit operating system to another 64–bit operating system.

In these cases, your 32–bit application may need to use one of the following registry paths on the 64–bit destination computer.



You can use the regValue provider to synchronize the 32–bit registry keys to the Wow6432Node of the 64–bit registry, as in the following example.

msdeploy -verb:sync -source:regvalue=HKLM/Software/CustomTool/tracing/enabled -dest :regvalue=HKLM/Wow6432Node/CustomTool/tracing/enabled

Example usages

1) Return the RemoteChannel value for IIS Manager in XML format.

msdeploy -verb:dump -xml -source:regValue=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inetmgr\7.0\RemoteChannel

2) Synchronize the RemoteChannel value with the archive located in the c:\archive directory.

msdeploy -verb:sync -xml -source:regValue=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inetmgr\7.0\RemoteChannel -dest:archiveDir=c:\archive

3) Return the CLSID for Microsoft.ApplicationHost.WritableAdminManager. Sample output is shown.

msdeploy -verb:dump -xml -source:regValue=HKCR\Microsoft.Applicationhost.WritableAdminManager\CLSID\

<regValue name="HKCR\Microsoft.Applicationhost.WritableAdminManager\CLSID\" valueType="String" value="{2b72133b-3f5b-4602-8952-803546ce3344}" />