限られたアプリケーションの仮想化は、近代的なOSは、WindowsおよびLinuxで使用されている。たとえば、もともとWindows 3.1のために書かれたアプリケーションの従来のINIファイルを仮想化するために、INIファイルのマッピングがレジストリにWindows NTで導入された[2]。同様に、Windows Vistaは、初期のWindowsでは誰もが書き込み可能だった、現在は読み出し専用であるシステムの場所にユーザデータを保存しようとするレガシー·アプリケーションがまだ働くことができるように制限されたファイルとレジストリの仮想化を適用する shim を実装している[3]。
ネイティブ環境とアプリケーション仮想化環境で実行中のアプリケーションのイラスト
完全なアプリケーション仮想化は仮想化レイヤーを必要とする[4]。アプリケーション仮想化レイヤーは、通常、OSによって提供されるランタイム環境の一部を置き換える。透過的に層を傍受し、仮想化されたアプリケーションのすべてのファイルおよびレジストリの操作とは、単一のファイル、多くの場合、仮想化された場所にリダイレクトされる[5]。アプリケーションは、物理的なものの代わりに仮想リソースにアクセスしていることを知っていることはありません。アプリケーションはシステム上に広がっている複数のファイルとレジストリを扱う代わりに1つのファイルだけを取り扱えばよいので、別のコンピュータでアプリケーションを実行することが容易になり、以前と互換性のないアプリケーションはサイドバイサイドで実行することができます。 Windowsプラットフォーム用のこの技術の例としては、AppZero, BoxedApp, Cameyo, Ceedo, Evalaze, InstallFree, Citrix XenApp, Novell ZENworks Application VIrtualization, Endeavors Technologies Application Jukebox, Microsoft Application Virtualization, Software Virtualization Solution, Spoon (以前は Xenocode), VMware ThinApp (以前は Thinstall), P-apps, AMS Z!Stream.