COM コンポーネントのプライベートな場所へのインストール

COM サーバーの同じコピーを常に使用するように COM クライアント アプリケーションに強制するには、COM サーバーとクライアントの間で分離されたコンポーネント関係を指定するよう、アプリケーションのインストール パッケージを作成します。 それにより、クライアント アプリケーションだけに使用される場所に COM サーバー コンポーネントのプライベート コピーがインストールされます。 パッケージの作成時に次を行います。

  • COM サーバー DLL と .exe クライアントを別々のコンポーネントに配置します。
  • IsolatedComponent テーブルに、Component_Shared 列が COM クライアント コンポーネントで Component_Application 列がクライアント アプリケーションであるレコードを入力します。 シーケンス テーブルに IsolateComponents アクションを含めます。
  • msidbComponentAttributesSharedDllRefCount ビットを Component_Shared の Component テーブルに設定します。 他のインストール テクノロジとの共有がある場合に共有ファイルと登録を保護するため、インストーラーでは、共有場所でこのグローバル refcount が要求されます。