製品
System Center
Windows Server 2008
Hyper-V
Virtual Server
Microsoft Application
Virtualization
ターミナルサービス
Virtual PC および Enterprise
Desktop Virtualization
VDI および VECD
Data Protection Manager
Windows Storage Server



通常のコンピューティング環境では、各アプリケーションは、オペレーティング システムに直接インストールされます。それらはすべて共有のシステム ファイルに書き込むため、アプリケーション間の競合が発生し、その結果、クラッシュしたり不安定になったりします。Microsoft Application Virtualization は、このような競合を取り除くことができます。なぜなら、仮想アプリケーションはローカル システムにインストールされません。また、ローカル コンピューターのファイルやレジストリ設定を一切変更しません。

アプリケーションの仮想化により、各アプリケーションは自身が持つ保護されたランタイム環境内で動作します。この保護されたランタイム環境は、仮想バブルとも呼ばれ、アプリケーションを他のアプリケーションやローカルの OS から分離します。必要に応じて管理者は、Dynamic Suite Composition (DSC) を使用して、仮想アプリケーションが他の仮想アプリケーションと通信できるようにしたり、仮想アプリケーション間でコンポーネントを共有するように構成することができます。
物理環境において、あらゆるアプリケーションは、メモリ割り当てやデバイス ドライバーなど、広範なサービスをローカルの OS に依存しています。OS に対して互換性を持たないアプリケーションについては、サーバーの仮想化、またはプレゼンテーションの仮想化のいずれかで対処できます。しかし、同じ OS インスタンス上にインストールされた、2 つのアプリケーション間の非互換性となると、アプリケーションの仮想化が必要になります。
同じデバイスにインストールされた各アプリケーションは、通常、構成要素を共有しますが、この共有により問題が発生する場合があります。たとえば、あるアプリケーションが動作するために、特定バージョンのダイナミック リンク ライブラリ (DLL) を必要とし、別のアプリケーションが同じ DLL の異なるバージョンを必要とする場合です。両方のアプリケーションをインストールすると、一方のアプリケーションが、もう一方のアプリケーションが必要とするバージョンを上書きしてしまい、アプリケーションが正常に動作しないか、クラッシュしてしまう状況を作り出してしまいます。この問題を回避するには、新しいアプリケーションをインストールする前に、広範囲にわたる互換性テストを何度も実行しなければなりません。このアプローチは有効ですが、かなりの時間と費用を要します。
アプリケーションの仮想化は、アプリケーションに関連するすべての共有リソースをコピーすることで、この問題を解決します。レジストリ エントリや特定の DLL など、アプリケーションがシステム上の他のアプリケーションと共有する可能性がある構成は、アプリケーションとともにパッケージ化され、コンピューターのキャッシュ内で動作する、仮想アプリケーションを構成します。仮想アプリケーションが展開されると、アプリケーションは自身が持つ共有リソースのコピーを使用することになります。
アプリケーションの仮想化により、アプリケーションの展開は大幅に簡単になります。各アプリケーションは、環境内で DLL のバージョンやその他の共有要素について競合することがないので、新しいアプリケーションを展開する前に、既存のアプリケーションとの競合についてテストする必要はほとんどありません。また、これらのアプリケーションは、インストールされている通常のアプリケーションと同時に実行することができます。したがって、すべてを仮想化する必要はありません。ただし、すべてを仮想化すれば、多くの問題を回避できるだけでなく、エンドユーザーがヘルプデスクで費やす時間を削減することができます。また、仮想アプリケーションとインストールされているアプリケーションを、共通のインターフェイスから管理するという、効果的なアプリケーション仮想化ソリューションを構築することもできます。