次の方法で共有


IsolatedComponent テーブル

IsolatedComponent テーブルの各レコードは、Component_Application列 (通常は .exe) で指定されたコンポーネントを、Component_Shared列 (通常は共有 DLL) で指定されたコンポーネントに関連付けます。 IsolateComponents アクション Component_Applicationで使用するために、Component_Sharedのコピーをプライベートな場所にインストールします。 これにより、コンピューター上の共有の場所にインストールできるComponent_Sharedの他のコピーからComponent_Applicationが分離されます。 分離コンポーネント を参照してください。

1 つのComponent_Sharedを複数のComponent_Applicationにリンクするには、IsolatedComponents テーブルにペアごとに個別のレコードを含めます。 インストーラーは、インストールされている各Component_ApplicationのディレクトリにComponent_Sharedのファイルをコピーします。

IsolatedComponent テーブルには、次の列があります。

コラム 種類 許容
Component_Shared 識別子の Y N
Component_Application 識別子の Y N

 

Component_Shared

コンポーネント テーブルへの外部キー。 共有ファイル (通常は DLL) を含むコンポーネント。 DLL は、このコンポーネントのキー ファイルである必要があります。 これは、Component_Application列に表示されるコンポーネントとは異なるコンポーネントである必要があります。

共有コンポーネントは、コンポーネントのすべての分離コピーの登録を制御し、コンポーネント テーブルの Attributes 列に msidbComponentAttributesSharedDllRefCount フラグを設定する必要があります。 これにより、インストーラーが共有コンポーネントの有効期間を管理できるようになります。

Component_Application

コンポーネント テーブルへの外部キー。 共有ファイルを読み込む .exe を含むコンポーネント。 .exe は、このコンポーネントのキー ファイルである必要があります。 これは、Component_Shared列に表示されるコンポーネントとは異なるコンポーネントである必要があります。

検証

ICE03
ICE06
ICE32
ICE62
ICE66
ICE97