分離されたアプリケーションは、マニフェストと共にインストールされた自己記述型のアプリケーションです。 分離アプリケーションでは、プライベート アセンブリ と 共有アセンブリの両方を使用できます。
すべてのコンポーネントがサイド バイ サイド アセンブリ またはプライベート アセンブリ 共有されている場合、アプリケーションは完全に分離されていると見なされます。 サイド バイ サイド アセンブリではない一部のコンポーネントを使用する場合は、部分的に分離された状態で呼び出されます。 アプリケーションがサイド バイ サイド アセンブリではないコンポーネントを使用している場合、またはプライベート アセンブリを使用している場合、アプリケーションはシステム上の他のアプリケーションのインストールまたは削除の影響を受ける可能性があることに注意してください。 詳細については、「side-by-side Assembly Sharing」を参照してください。
開発者は、分離されたアプリケーションを設計し、次の理由で既存のアプリケーションを分離されたアプリケーションに更新することをお勧めします。
- 分離されたアプリケーションは、システム上の他のアプリケーションのインストール、削除、またはアップグレードの影響を受けないため、より安定して確実に更新されます。
- 分離アプリケーションは、ビルドおよびテストされたのと同じアセンブリ バージョンを使用して常に実行されるように設計できます。
- 分離アプリケーションでは、Microsoft が利用できるサイド バイ サイド アセンブリによって提供される機能を使用できます。 詳細については、「サポートされている Microsoft side-by-side アセンブリ 」を参照してください。
- 分離されたアプリケーションは、アプリケーションを再インストールしなくても展開後に構成を更新できるため、サイド バイ サイド アセンブリの配布スケジュールには関連付けされません。 これは、アセンブリの 1 つのバージョンのみが使用可能になっている場合には適用されません。
- 完全に分離されたアプリケーションは、xcopy コマンドを使用してインストールできます。 Windows インストーラー を使用して、レジストリに影響を与えずに分離されたアプリケーションをインストールすることもできます。 詳細については、「win32 アセンブリ のインストール」を参照してください。
場合によっては、アプリケーション コードを書き直すことなく、既存のアプリケーションを分離アプリケーションに更新できます。 アプリケーション マニフェスト を作成して、side-by-side アセンブリに対するアプリケーションの依存関係を記述できます。 アプリケーションでサイド バイ サイド アセンブリではないコンポーネントを使用する場合は、プライベート アセンブリとして展開可能性があります。 サードパーティのコンポーネントでこれを行う可能性は、コンポーネントをアセンブリとして作成する必要があるため、ライセンスによって異なることがあります。 たとえば、アプリケーション マニフェストを作成し、サイド バイ サイドの共通コントロール (COMCTL32) への依存を指定することで、Windows XP で実行されているアプリケーションは、Windows テーマを利用できます。 アプリケーションを常にテストして、COMCTL32 アセンブリの新しいバージョンと互換性があることを確認する必要があります。
既存のすべてのアプリケーションを完全に分離されたアプリケーションに更新できない場合があります。 たとえば、一部の Windows File Protection (WFP) システム アセンブリはサイド バイ サイド アセンブリとして使用できず、アプリケーションと共にプライベート アセンブリとしてインストールすることはできません。 アプリケーション マニフェストでアプリケーションのアセンブリの一部に対してサイド バイ サイド アセンブリの依存関係を指定することで、このようなアプリケーションを部分的に分離できる場合があります。