RegLocator 表
RegLocator 表保存使用注册表搜索文件或目录所需的信息,或搜索特定注册表项本身所需的信息。 此表包含以下列。
列 | 类型 | 密钥 | Nullable |
---|---|---|---|
Signature_ | Identifier | Y | N |
Root | 整数 | N | N |
密钥 | RegPath | N | N |
名称 | Formatted | N | Y |
类型 | 整数 | N | Y |
列
-
Signature_
-
Signature_ 字段中的值表示一个唯一签名,该签名是 Signature 表第一列的外部键。 如果 Signature 表中存在此签名,则搜索文件。 如果 Signature 表中缺少此签名,并且 Type 列的值为 msidbLocatorTypeRawValue,则搜索 RegLocator 表指向的注册表项名称。 否则搜索 RegLocator 表指向的目录。
-
Root
-
注册表值的预定义根注册表项。
常数 十六进制 十进制 根注册表项 msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOT msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER msidbRegistryRootLocalMachine 为 0x002 2 HKEY_LOCAL_MACHINE msidbRegistryRootUsers 0x003 3 HKEY_USERS -
Key
-
注册表值的键。
-
Name
-
注册表值名称。 如果此值为 null,则检索键的未命名值或默认值(如果有)。
-
Type
-
一个值,该值确定注册表值是文件名、目录位置还是原始注册表值。
下表列出了有效值。 如有必要,请设置前三个值之一和 msidbLocatorType64bit。 如果此字段中的条目不存在,则 Type 设置为 1。
常数 十六进制 十进制 说明 msidbLocatorTypeDirectory 0x000 0 键路径是一个目录。 msidbLocatorTypeFileName 0x001 1 键路径是一个文件名。 msidbLocatorTypeRawValue 为 0x002 2 键路径是注册表值。 msidbLocatorType64bit 0x010 16 如果设置此位,则安装程序将搜索注册表的 64 位部分。 如果不设置此位,则安装程序将搜索注册表的 32 位部分。
备注
请注意,如果 Type 字段中的值为 msidbLocatorTypeRawValue,则安装程序会将 AppSearch 表的 Property 字段中指定的属性值设置为注册表值。 安装程序向注册表值中添加一个前缀,用于标识注册表值类型。 有关注册表值类型的详细信息,请参阅注册表值类型。
注册表类型 | 由安装程序添加的前缀 |
---|---|
REG_SZ | 无,但如果注册表值的第一个字符是 #,则安装程序会通过添加另一个 # 作为前缀来转义该字符。 |
DWORD | “#”(可选),后跟“+”或“-” |
REG_EXPAND_SZ | "#%" |
REG_MULTI_SZ | NULL。 安装程序将该属性设置为以 NULL 开头并以 NULL 结尾的值。 |
REG_BINARY | “#x”在 REG_BINARY 的情况下,安装程序将每个十六进制数字(半字节)转换并保存为以“#x”为前缀的 ASCII 字符。 |
通常,此表中的列不会本地化。 如果作者决定用多种语言搜索产品,则表中必须针对每种语言包含单独的条目。
注意,无法使用 RegLocator 表仅针对密钥的存在检查。 但可以搜索键的默认值,并且可以检索其值(如果不为空)。
有关详细信息,请参阅搜索现有应用程序、文件、注册表项或 .ini 文件条目。
验证