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