RegLocator 表

RegLocator 表包含使用注册表搜索文件或目录所需的信息,或者搜索特定注册表项本身。 此表包含以下列。

类型 密钥 Nullable
Signature_ 标识符 Y N
Root 整数 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 。 如果此字段中的条目不存在,则类型设置为 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 开头的值,以 null 结尾。
REG_BINARY “#x”如果REG_BINARY,安装程序将转换并保存每个十六进制数字 () 作为前缀为“#x”的 ASCII 字符。

 

通常,此表中的列未本地化。 如果作者决定搜索多种语言的产品,则必须在每个语言的表中包含单独的条目。

请注意,无法使用 RegLocator 表仅检查密钥是否存在。 但是,可以搜索键的默认值,如果键不为空,则检索其值。

有关详细信息,请参阅 搜索现有应用程序、文件、注册表项或.ini文件条目

验证

ICE03
ICE06
ICE46
ICE80