既存のパッケージ内の COM コンポーネントをプライベートにする
管理者は、COM サーバーとクライアントの間の分離コンポーネント関係を指定することで、他のアプリケーションに影響を与えることなく、COM クライアント アプリケーションが既存のパッケージ内の COM サーバーの同じコピーを常に使用するように強制できます。 それにより、クライアント アプリケーションだけに使用される場所に COM サーバー コンポーネントのプライベート コピーがインストールされます。 管理者は、次のことを行うために、変換またはパッケージ作成ツールを使用する必要があります。
- COM サーバー DLL と .exe クライアントを別々のコンポーネントに配置します。
- IsolatedComponent テーブルに、Component_Shared 列が COM クライアント コンポーネントで Component_Application 列がクライアント アプリケーションであるレコードを入力します。 シーケンス テーブルに IsolateComponents アクションを含めます。
- Component_Shared に対する Component テーブルのレコードで、msidbComponentAttributesSharedDllRefCount ビットを設定します。 他のインストール テクノロジとの共有がある場合に共有ファイルと登録を保護するため、インストーラーでは、共有場所でこのグローバル refcount が要求されます。