RegLocator 數據表
RegLocator 資料表會保存使用登錄搜尋檔案或目錄,或搜尋特定登錄專案本身所需的資訊。 下表具有下列數據行。
列 | 類型 | 鑰匙 | 空 |
---|---|---|---|
簽名_ | 識別碼 | Y | N |
根 | 整數 | N | N |
鑰匙 | RegPath | N | N |
名字 | 格式化 | N | Y |
類型 | 整數 | N | Y |
列
-
Signature_
-
[Signature_] 字段中的值代表唯一的簽章,這是 Signature 數據表之一數據行的外部索引鍵。 如果簽章存在於 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 數據表的 Property 字段中指定的屬性值設定為登錄值。 安裝程式會將前置詞加入登錄值,以識別登錄值的類型。 如需登入值類型的詳細資訊,請參閱 登錄實值類型。
登錄類型 | 安裝程式新增的前置詞 |
---|---|
REG_SZ | 無,但如果登錄值的第一個字元是 #,安裝程式會以另一個 #作为前置词来逸出字符。 |
DWORD | “#” 選擇性地後面接著 '+' 或 '-' |
REG_EXPAND_SZ | “#%” |
REG_MULTI_SZ | 零。 安裝程式會將 屬性設定為以 Null 開頭的值,並以 Null 結尾。 |
REG_BINARY | “#x” 如果REG_BINARY,安裝程式會轉換並儲存每一個十六進位數位(nibble)作為以 “#x” 開頭的 ASCII 字元。 |
一般而言,此數據表中的數據行不會當地語系化。 如果作者決定搜尋多種語言的產品,則每個語言的數據表中必須包含個別的專案。
請注意,無法使用 RegLocator 數據表只檢查機碼是否存在。 不過,您可以搜尋索引鍵的預設值,如果索引鍵不是空的,則擷取其值。
如需詳細資訊,請參閱 搜尋現有的應用程式、檔案、登錄專案或 .ini 檔案專案。
驗證