分離アプリケーション

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

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

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

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

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

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