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