The RegLocator table holds the information needed to search for a file or directory using the registry, or to search for a particular registry entry itself. This table has the following columns.
Columns
- Signature_
The value in the Signature_ field represents a unique signature that is an external key into column one of the Signature table. If this signature is present in the Signature table, the search is for a file. If this signature is absent from the Signature table, and the value of the Type column is msidbLocatorTypeRawValue, the search is for the registry key name pointed to by the RegLocator table. Otherwise the search is for a directory pointed to by the RegLocator table.
- Root
The predefined root key for the registry value.
| Constant | Hexadecimal | Decimal | Root key |
| msidbRegistryRootClassesRoot | 0x000 | 0 | HKEY_CLASSES_ROOT |
| msidbRegistryRootCurrentUser | 0x001 | 1 | HKEY_CURRENT_USER |
| msidbRegistryRootLocalMachine | 0x002 | 2 | HKEY_LOCAL_MACHINE |
| msidbRegistryRootUsers | 0x003 | 3 | HKEY_USERS |
- Key
The key for the registry value.
- Name
The registry value name. If this value is null, then the value from the key's unnamed or default value, if any, is retrieved.
- Type
A value that determines if the registry value is a file name, a directory location, or raw registry value.
The following table lists valid values. Set one of the first three values and msidbLocatorType64bit if necessary. If the entry in this field is absent, Type is set to be 1.
| Constant | Hexadecimal | Decimal | Description |
| msidbLocatorTypeDirectory | 0x000 | 0 | Key path is a directory. |
| msidbLocatorTypeFileName | 0x001 | 1 | Key path is a file name. |
| msidbLocatorTypeRawValue | 0x002 | 2 | Key path is a registry value. |
| msidbLocatorType64bit | 0x010 | 16 | Set this bit to have the installer search the 64-bit portion of the registry. Do not set this bit to have the installer search the 32-bit portion of the registry. |
Remarks
Note that if the value in the Type field is msidbLocatorTypeRawValue, the installer sets the value of the property specified in the Property field of the
AppSearch table to the registry value. The installer adds a prefix to the registry value that identifies the type of registry value. For more information about types of registry values, see
Registry Value Types.
| Registry type | Prefix added by Installer |
| REG_SZ | None, but if the first character of the registry value is #, the installer escapes the character by prefixing a another #. |
| DWORD | "#" optionally followed by '+' or '-' |
| REG_EXPAND_SZ | "#%" |
| REG_MULTI_SZ | Null. The installer sets the property to a value beginning with a null and ending with a null. |
| REG_BINARY | "#x" In case of REG_BINARY, the installer converts and saves each hexadecimal digit (nibble) as an ASCII character prefixed by "#x". |
Typically, the columns in this table are not localized. If an author decides to search for products in multiple languages, then there must be a separate entry included in the table for each language.
Note that it is not possible to use the RegLocator table to check only for the presence of the key. However, you can search for the default value of a key and retrieve its value if it is not empty.
For more information, see
Searching for Existing Applications, Files, Registry Entries or .ini File Entries.
Validation
- ICE03
- ICE06
- ICE46
- ICE80
Send comments about this topic to Microsoft
Build date: 6/5/2008