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