Applicaton virtualization aims to combine the best of both worlds: the efficiency of locally installed software and the convenience of virtual machines. While the techology has been around for quite some time, it was almost unnoticed. But recently the market is evolving, and you can read about company acquisitions and strategic partnerships frequently.
Application virtualization works by placing an application in a "semi-transparent petri-dish". The application runs on the local operating system, but its access to the file system and registry gets filtered and redirected to a virtual store on a case-by-case basis. This means that the program can load system DLLs from the real machine, but if it requests a DLL that's specific to the virtualized application, this read access is redirected to the virtual file system. The same is true for registry access.
Benefits compared to operating system virtualization:
- No need to include the whole operating system in the package, thus saving space and avoiding licensing hassles.
- Application has physical access to devices like printers, USB ports or the graphics card, resulting in higher performance.
Benefits compared to local software installation:
- No need to put application specific DLLs and registry entries (like COM registration) on the real machine. Thus no installation program is required, and the application can be easily removed without traces.
- Applications can run from removable media like a CD-ROM or a USB memory stick.
There are various application virtualization solutions available. Some require a client or a server, others are self contained. Streaming support, network bandwidth usage and application startup times are also quite different, as discussed recently in an InfoWorld article.
A related trend is to combine virtualization and Windows Installer (MSI): Microsoft offers a utility which wraps a SoftGrid virtualized application in a .msi file to make it easily deployable with existing systems like SMS. Macrovision's AdminStudio can repackage applications as .msi file or for Citrix Presentation Server, or convert MSI packages to Citrix virtual profiles.
This is part three of my series about virtualization technologies. Here are links to all parts (will be updated when additional articles are published):
AdminStudio and Thinstall are available in the InstallSite Shop