次の方法で共有


RegLocator テーブル

RegLocator テーブルには、レジストリを使用してファイルまたはディレクトリを検索したり、特定のレジストリ エントリ自体を検索したりするために必要な情報が保持されます。 このテーブルには、次の列があります。

コラム 種類 許容
署名_ 識別子の Y N
整数 N N
RegPath する N N
名前 書式設定された N Y
種類 整数 N Y

 

Signature_

Signature_ フィールドの値は、Signature テーブルのいずれかの列の外部キーである一意の署名を表します。 この署名が Signature テーブルに存在する場合、検索はファイルを検索します。 このシグネチャが Signature テーブルに存在しない場合、Type 列の値が msidbLocatorTypeRawValue 場合、検索は RegLocator テーブルによって指されているレジストリ キー名を検索します。 それ以外の場合、検索は RegLocator テーブルが指すディレクトリを検索します。

ルート

レジストリ値の定義済みのルート キー。

定数 16 進 数 小数 ルート キー
msidbRegistryRootClassesRoot する 0x000 0 HKEY_CLASSES_ROOT
msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER
msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE
msidbRegistryRootUsers 0x003 3 HKEY_USERS

 

キー

レジストリ値のキー。

レジストリ値の名前。 この値が null の場合、キーの名前のない値または既定値 (存在する場合) から値が取得されます。

の種類

レジストリ値がファイル名、ディレクトリの場所、または生のレジストリ値であるかどうかを決定する値。

次の表に、有効な値を示します。 最初の 3 つの値のいずれかを設定し、必要に応じて msidbLocatorType64bit します。 このフィールドのエントリがない場合、Type は 1 に設定されます。

定数 16 進 数 小数 形容
msidbLocatorTypeDirectory 0x000 0 キー パスはディレクトリです。
msidbLocatorTypeFileName 0x001 1 キー パスはファイル名です。
msidbLocatorTypeRawValue 0x002 2 キー パスはレジストリ値です。
msidbLocatorType64bit 0x010 16 インストーラーがレジストリの 64 ビット部分を検索するように、このビットを設定します。 インストーラーがレジストリの 32 ビット部分を検索するようにこのビットを設定しないでください。

 

備考

[種類] フィールドの値が msidbLocatorTypeRawValue 場合、インストーラーは、AppSearch テーブルの [プロパティ] フィールドで指定されたプロパティの値をレジストリ値に設定することに注意してください。 インストーラーは、レジストリ値の種類を識別するプレフィックスをレジストリ値に追加します。 レジストリ値の種類の詳細については、「レジストリ値の型 を参照してください。

レジストリの種類 インストーラーによって追加されたプレフィックス
REG_SZ なし。ただし、レジストリ値の最初の文字が #の場合、インストーラーは別の #の前に文字をエスケープします。
DWORD 必要に応じて 、"#" の後に '+' または '-' が続きます
REG_EXPAND_SZ "#%"
REG_MULTI_SZ ヌル。 インストーラーは、プロパティを null で始まり、null で終わる値に設定します。
REG_BINARY "#x" REG_BINARYの場合、インストーラーは各 16 進数字 (ニブル) を ASCII 文字の先頭に "#x" で変換して保存します。

 

通常、このテーブルの列はローカライズされません。 作成者が複数の言語で製品を検索する場合は、各言語のテーブルに個別のエントリが含まれている必要があります。

RegLocator テーブルを使用してキーの有無のみを確認することはできません。 ただし、キーの既定値を検索し、空でない場合はその値を取得できます。

詳細については、「既存のアプリケーション、ファイル、レジストリ エントリ、または .ini ファイル エントリの検索 を参照してください。

検証

ICE03
ICE06
ICE46
ICE80