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 テーブルを使ったインストールが失敗し、ロールバックする必要がある場合、ロールバックによって、ロールバック前と同じ状態にコンピューターが復元されないことがあります。 ロールバック前に登録されたタイプ ライブラリは、ロールバック後に登録されない場合があります。

検証

ICE03
ICE06
ICE19
ICE32