应用程序在很大的程度上依赖于操作系统为其提供的功能,比如内存分配、设备驱动、服务进程、动态链接库等。这些应用程序 之间也存在着复杂的依存关系。它们通常共享许多不同的程序部件,比如动态链接库。如果一个程序的正确运行需要一个特定的动态链接库,而另一个程序需要这个 动态链接库的另一个版本,那么在同一个系统上同时安装这两个应用程序,就会造成动态链接库的冲突,其中一个程序会覆盖另一个程序所需要的动态链接库,造成 另一个程序的不可用。因此,系统或其它应用程序的改变(如执行升级补丁等)都有可能导致应用之间的不兼容。当一个企业要为其组织中的桌面系统安装新的应用 时,总是要进行严格的而烦琐的测试,来保证新应用与系统中的已有应用不产生冲突。这个过程需要耗费大量的人力、物力、和财力。


有了应用虚拟化,应用可以运行在任何共享的计算机资源上。应用虚拟化为应用程序提供了一个虚拟的运行环境。在这个环境中,不仅拥有应用程序的可执行文件, 还包括它所需要的运行时环境。应用虚拟化为企业内部的IT管理提供了便利。在应用虚拟化之前,如果管理员要对一个应用程序进行更新,他必须处理每一台机器 可能出现的不同类型的不兼容情况。采用应用虚拟化技术后,管理员只需要更新虚拟机环境中的应用程序副本,将其发布出去。

应用虚拟化是把应用对底层的系统和硬件的依赖抽象出来,从而解除应用与操作系统和硬件的耦合关系。应用程序运行在本地的应用虚拟化环境中,这个环境为应用 程序屏蔽了底层可能与其它应用产生冲突的内容,如动态链接库。这简化了应用程序的部署或升级,因为程序运行在本地的虚拟环境中,不会与本地的安装的其它程 序产生冲突,同时带来应用程序升级的便利。