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列に表示されるコンポーネントとは異なるコンポーネントである必要があります。
検証