次の方法で共有


Registration-Free COM 相互運用機能

登録不要の COM 相互運用機能は、アセンブリ情報を格納するために Windows レジストリを使用せずにコンポーネントをアクティブ化します。 配置時にコンピューターにコンポーネントを登録する代わりに、バインドとアクティブ化に関する情報を含む Win32 スタイルのマニフェスト ファイルをデザイン時に作成します。 これらのマニフェスト ファイルは、レジストリ キーではなく、オブジェクトのアクティブ化を指示します。

アセンブリをデプロイ時に登録する代わりに、登録不要のアクティブ化を使用すると、次の 2 つの利点があります。

  • コンピューターに複数のバージョンがインストールされている場合にアクティブ化される DLL バージョンを制御できます。

  • エンド ユーザーは、XCOPY または FTP を使用して、コンピューター上の適切なディレクトリにアプリケーションをコピーできます。 その後、そのディレクトリからアプリケーションを実行できます。

このセクションでは、登録不要の COM 相互運用に必要な 2 種類のマニフェスト (アプリケーション マニフェストとコンポーネント マニフェスト) について説明します。 これらのマニフェストは XML ファイルです。 アプリケーション 開発者によって作成されたアプリケーション マニフェストには、アセンブリとアセンブリの依存関係を記述するメタデータが含まれています。 コンポーネント開発者によって作成されたコンポーネント マニフェストには、それ以外の場合は Windows レジストリにある情報が含まれます。

登録不要の COM 相互運用の要件

  1. 登録不要の COM 相互運用機能のサポートは、ライブラリ アセンブリの種類によって若干異なります。具体的には、アセンブリがアンマネージド (COM side-by-side) かマネージド (.NET ベース)。 次の表に、各アセンブリの種類のオペレーティング システムと .NET Framework のバージョン要件を示します。

    アセンブリの種類 オペレーティング システム .NET Framework のバージョン
    COM のサイド バイ サイド Microsoft Windows XP 必須ではありません。
    .NET ベース Windows XP with SP2 NET Framework バージョン 1.1 以降。

    Windows Server 2003 ファミリでは、登録不要の COM 相互運用機能もサポートされています。NET ベースのアセンブリ。

    の場合COM からのレジストリフリーのアクティブ化と互換性を持つ NET ベースのクラス。クラスにはパラメーターなしのコンストラクターが必要であり、パブリックである必要があります。

登録不要のアクティブ化のための COM コンポーネントの構成

  1. COM コンポーネントを登録不要のアクティブ化に参加させるには、サイド バイ サイド アセンブリとして配置する必要があります。 サイド バイ サイド アセンブリはアンマネージ アセンブリです。 詳細については、「 Side-by-side アセンブリの使用」を参照してください。

    COM サイド バイ サイド アセンブリを使用するには、NET ベースのアプリケーション開発者は、バインドとアクティブ化の情報を含むアプリケーション マニフェストを提供する必要があります。 アンマネージド サイド バイ サイド アセンブリのサポートは、Windows XP オペレーティング システムに組み込まれています。 オペレーティング システムでサポートされている COM ランタイムは、アクティブ化されるコンポーネントがレジストリにない場合に、アプリケーション マニフェストでアクティブ化情報をスキャンします。

    Windows XP にインストールされている COM コンポーネントでは、登録不要のライセンス認証は省略可能です。 アプリケーションにサイド バイ サイド アセンブリを追加する方法の詳細については、「 Side-by-side アセンブリの使用」を参照してください。

    サイド バイ サイド実行は、複数のバージョンのランタイムと、ランタイムのバージョンを使用する複数のバージョンのアプリケーションとコンポーネントを、同じコンピューター上で同時に実行できるようにする .NET Framework 機能です。 サイド バイ サイド実行とサイド バイ サイド アセンブリは、サイド バイ サイド機能を提供するためのさまざまなメカニズムです。

こちらも参照ください