分離アプリケーション

分離されたアプリケーションは、マニフェストと共にインストールされる自己記述型アプリケーション です。 分離アプリケーションでは、プライベート アセンブリと共有アセンブリの両方を使用できます。

すべてのコンポーネントがサイド バイ サイド アセンブリまたはプライベート アセンブリの共有である場合、アプリケーションは完全に分離されていると見なされます。 サイド バイ サイド アセンブリではない一部のコンポーネントを使用する場合は、部分的に分離して呼び出されます。 アプリケーションがサイド バイ サイド アセンブリではないコンポーネントを使用している場合、またはプライベート アセンブリを使用している場合、アプリケーションはシステム上の他のアプリケーションのインストールまたは削除の影響を受ける可能性があることに注意してください。 詳細については、「 Side-by-side Assembly Sharing」を参照してください。

開発者は、分離されたアプリケーションを設計し、次の理由で既存のアプリケーションを分離されたアプリケーションに更新することをお勧めします。

  • 分離されたアプリケーションは、システム上の他のアプリケーションのインストール、削除、またはアップグレードの影響を受けないため、より安定して確実に更新されます。
  • 分離されたアプリケーションは、ビルドおよびテストされたのと同じアセンブリ バージョンを使用して常に実行されるように設計できます。
  • 分離アプリケーションでは、Microsoft が提供するサイド バイ サイド アセンブリによって提供される機能を使用できます。 詳細については、「 サポートされている Microsoft Side-by-side アセンブリ」を参照してください。
  • 分離アプリケーションは、アプリケーションを再インストールしなくても展開後に構成を更新できるため、サイド バイ サイド アセンブリの配布スケジュールに関連付けられません。 これは、アセンブリの 1 つのバージョンのみが使用可能になっている場合には適用されません。
  • xcopy コマンドを使用して、完全に分離されたアプリケーションをインストールできます。 Windowsインストーラーを使用して、レジストリに影響を与えることなく、分離されたアプリケーションをインストールすることもできます。 詳細については、「 Win32 アセンブリのインストール」を参照してください。

場合によっては、アプリケーション コードを書き換えることなく、既存のアプリケーションを分離アプリケーションに更新できます。 アプリケーション マニフェストは、サイド バイ サイド アセンブリに対するアプリケーションの依存関係を記述する作成できます。 アプリケーションでサイド バイ サイド アセンブリではないコンポーネントを使用する場合は、 これらをプライベート アセンブリとして展開できます。 サード パーティのコンポーネントでこれを行う可能性は、コンポーネントをアセンブリとして作成する必要があるため、ライセンスによって異なる場合があることに注意してください。 たとえば、アプリケーション マニフェストを作成し、サイド バイ サイド共通コントロール (COMCTL32) への依存を指定することで、Windows XP で実行されているアプリケーションは、Windowsテーマを利用できます。 アプリケーションを常にテストして、新しいバージョンの COMCTL32 アセンブリと互換性があることを確認する必要があります。

既存のすべてのアプリケーションを完全に分離されたアプリケーションに更新できない場合があります。 たとえば、一部の Windows ファイル保護 (WFP) システム アセンブリはサイド バイ サイド アセンブリとして使用できず、プライベート アセンブリとしてアプリケーションと共にインストールすることはできません。 アプリケーション マニフェストでアプリケーションのアセンブリの一部に対してサイド バイ サイド アセンブリの依存関係を指定することで、このようなアプリケーションを部分的に分離できる場合があります。