TypeLib テーブル
TypeLib テーブルには、タイプ ライブラリのレジストリ登録に配置する必要がある情報が含まれています。
TypeLib テーブルには次の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
LibID | GUID | Y | N |
Language | 整数 | Y | N |
Component_ | Identifier | Y | N |
バージョン | DoubleInteger | N | Y |
説明 | [テキスト] | N | Y |
Directory_ | Identifier | N | Y |
Feature_ | Identifier | N | N |
コスト | DoubleInteger | N | Y |
[列]
-
LibID
-
ライブラリを識別する GUID。
-
Language
-
タイプ ライブラリの言語。 これは負ではない数にする必要があります。
-
Component_
-
Component テーブルの最初の列の外部キー。 この列は、登録対象のタイプ ライブラリをキー ファイルとする Feature_ に属するコンポーネントを特定します。
-
Version
-
これはライブラリのバージョンです。 メジャー バージョンとマイナー バージョンは、4 バイトの整数値でエンコードされます。 マイナー バージョンは下位 8 ビットです。 メジャー バージョンは中間の 16 ビットです。
-
Description
-
ライブラリのローカライズ可能な説明。
-
Directory_
-
Directory テーブルの最初の列の外部キー。 この列には、タイプ ライブラリの Help パスを指定します。 アドバタイズ時はこの列は無視されます。
-
Feature_
-
Feature テーブルの最初の列の外部キー。 この列には、タイプ ライブラリが機能するためにインストールする必要がある機能を指定します。
-
Cost
-
タイプ ライブラリの登録に関連付けられたコスト (バイト単位)。 これは負ではない数または null にする必要があります。
解説
このテーブルが参照されるのは、RegisterTypeLibraries アクションまたは UnregisterTypeLibraries アクションが実行されたときです。
インストーラーにより、すべてのタイプ ライブラリの登録情報が HKEY_LOCAL_MACHINE (HKLM) レジストリの場所に書き込まれます。 これは、ユーザーごとのインストールの場合も同様です。 ユーザーごとの場所 (HKCU) にはタイプ ライブラリを登録できません。
インストール パッケージの作成者には TypeLib テーブルを使わないことを強くお勧めします。 代わりに、Registry テーブルを使ってタイプ ライブラリを登録するようにしてください。 自己登録を回避する理由は次のとおりです。
- TypeLib テーブルを使ったインストールが失敗し、ロールバックする必要がある場合、ロールバックによって、ロールバック前と同じ状態にコンピューターが復元されないことがあります。 ロールバック前に登録されたタイプ ライブラリは、ロールバック後に登録されない場合があります。
検証