Editing Registry Value Properties

<< Click to Display Table of Contents >>

RayPack > 7.3 u6 > User Guide > PackDesigner > MSI / MST / RPP Based Projects > Visual Designer Mode > System Configuration > Registry 

Editing Registry Value Properties

Once a value has been created within one of the registry keys of a packaging project, its properties can be adjusted.

 

To do so, users should

right-click the value within the right window of the package registry browser.

oTo edit the value properties within the Visual Designer interface, users select the Properties option from the context menu.

oTo edit the value properties directly within the resembling row of the Registry table of the TABLES view of the Advanced mode, users select Go to row from the context menu.

left-click the value within the right window of the package registry browser and use the key combination Alt + Enter.
 

The REGISTRY VALUE PROPERTIES dialog is displayed with its single GENERAL tab.

 

RegistryPropertiesValue

 

As soon as all required changes are executed, users can either use the Apply button to save the changes to the file object and keep the REGISTRY VALUE PROPERTIES dialog open, or use the OK button to save and close the dialog.

Clicking the Cancel button closes the dialog without applying unsaved changes.

The GENERAL Tab

Name

This is the name of the value as it appears on the target machine. It has to be unique among the values within the very same parent key. A value name may not be empty for any value type but default. Registry value names are physically stored within a Formatted database table column. Therefore the usage of placeholders for MSI properties in brackets (e. g. [MyProperty]) is provided. See MSDN for details regarding limitations for values of Formatted columns.

 

papercliper

Note:

Registry keys and values are both stored within the Registry table. They only differ in the existence and interpretation of specific columns.

For example:

If a row within the Registry table represents a key, the string within the name column is scanned for specific symbolic letters, which control the behavior of the key during installation and uninstallation (compare Edit registry key properties).

If a row within the Registry table represents a value, then the name may not be empty for all values types but default.

 

Identifier

The identifier is the unique internal pointer to the registry object. The Identifier data type is a text string. Identifiers may contain the ASCII characters A-Z (a-z), digits, underscores (_), or periods (.). However, every identifier must begin with either a letter or an underscore.

 

Component

A registry value always has to be related to a specific key and along with that to a specific component. As soon as the first key is added to one of the standard registry hives, RayPack creates a component for that hive and automatically adds any key or value stored inside to the component of its parent hive:
 

Values within HKEY_CLASSES_ROOT are added to component Registry_HKCR

Values within HKEY_CURRENT_USER are added to component Registry_HKCU

Values within HKEY_LOCAL_MACHINE are added to component Registry_HKLM

Values within HKEY_USER_SELECTABLE are added to component Registry_HKMU

Values within HKEY_USERS are added to component Registry_HKU

 

Key Path

If a value is marked to be the key path of a component, the existence of the key path determines the health state of that component. If the value does not exist on the target machine, the Installer's Repair functionality assumes that the component needs to be repaired.

 

Registry Value

 

Type

Each registry value must have one out of 6 available types:
 

default
The default value type has a special standing, as there can only be one default value per parent key, and its properties may be used for key behavior manipulation.
Once a default value has been added to a key, only its actual value and key path settings are modifiable. Internally, the default type is usually stored as String, since the actual data value may be used to point to external resources, such as the path to an executable for an advertised component.
 

String (REG_SZ)
This type is a standard string, used to represent human readable text values.
 

32-bit integer (REG_DWORD)
This type represents data by a four byte number and is commonly used for boolean values, such as "0" - disabled, or "1" - enabled. Additionally, many parameters for device driver and services are of this type.
When this type is active, the integer value may be interpreted as hexadecimal or decimal value. Please activate the required option.
 

Binary (REG_BINARY)
The value is interpreted and stored as a hexadecimal value. Therefore, only digits and the letters a-f are valid contents of the data value.
 

Expandable string (REG_EXPAND_SZ)
This type is a null-terminated expandable data string. It may be a string containing a variable to be replaced when called by an application. This type is only available on operating systems using an advanced registry editor such as REGEDT32
 

Multistring (REG_MULTI_SZ)
This type contains multiple double null-terminated lines of string values. Click the ADD button below the data display to create a new line. Users have to select whether the given data is appended, prepended or used as replacement for existing values of the registry value data content.
By selecting one of the value rows and clicking REMOVE SELECTED, the row is deleted from the data row collection.
 
Please note that this type will only result in a multi-string value if there is more than one value row or the action attribute is set to 'Append' or 'Prepend'. Otherwise, a standard string value (REG_SZ) will be created.

 

For values that are not default ones, the type can be switched freely. The current value is automatically transformed into the new types data schema.

 

Value

This is the actual content stored within the registry value. The domain and input controls of the value depend on the chosen value type (see paragraph above).