Skip to main content

RegistryValue element

Used to create a registry value. For multi-string values, this can be used to prepend or append values.

For legacy authoring: Use several of these elements to specify each registry value in a multiString registry value. This element cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'.

Windows Installer references

Registry Table

Parents

RegistryKey, Component

Children

Attributes

Action (enumeration) : This is the action that will be taken for this registry value. This attribute's value must be one of the following:

  • append: Appends the specified value(s) to a multiString registry value.
  • prepend: Prepends the specified value(s) to a multiString registry value.
  • write: Writes a registry value. This is the default value.

Id (String) : Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be generated by hashing the parent Component identifier, Root, Key, and Name.

Key (String) : The localizable key for the registry value. If the parent element is a RegistryKey, this value may be omitted to use the path of the parent, or if its specified it will be appended to the path of the parent.

KeyPath (YesNoTypeUnion) : Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. Only one resource (registry, file, etc) can be the KeyPath of a component.

Name (String) : The localizable registry value name. If this attribute is not provided the default value for the registry key will be set instead. The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.

Root (enumeration) : The predefined root key for the registry value. This attribute's value must be one of the following:

  • HKMU: A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE.
  • HKCR: Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations.
  • HKCU: Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath attribute to yes when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer.
  • HKLM: Operation occurs under HKEY_LOCAL_MACHINE.
  • HKU: Operation occurs under HKEY_USERS.

Type (enumeration) : Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value attribute or a child RegistryValue element is specified. This attribute should only be set when the value of the Action attribute does not include the word 'remove'. This attribute's value must be one of the following:

  • string: The value is interpreted and stored as a string (REG_SZ).
  • integer: The value is interpreted and stored as an integer (REG_DWORD).
  • binary: The value is interpreted and stored as a hexadecimal value (REG_BINARY).
  • expandable: The value is interpreted and stored as an expandable string (REG_EXPAND_SZ).
  • multiString: The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). Please note that this value will only result in a multi-string value if there is more than one registry value or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created.

Value (String) : Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate values in the Type attribute to get the desired behavior.

Edit the schema for this page