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