App-V FAQ: What is Application Virtualisation?

Wikipedia describes application virtualization as:

Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense[1], although it is still executed as if it is. The application is fooled at runtime into believing that it is directly interfacing with the original operating system and all the resources managed by it, when in reality it is not. In this context, the term “virtualization” refers to the artefact being encapsulated (application), which is quite different to its meaning in hardware virtualization, where it refers to the artefact being abstracted (physical hardware).

Application Virtualisation in Windows exists in several forms – these include the registry and file system redirection that is a feature of User Account Control in Windows Vista and Windows 7, the IniFileMappings feature introduced in Windows NT and application virtualisation solutions such as Microsoft App-V, VMware ThinApp and InstallFree Bridge. Application Virtualization in the context of this FAQ series, refers to those application virtualisation solutions that includes App-V.

Application Virtualisation allows you to deliver applications without having to install them to the operating system. This means that you can now turn applications into a service that can be delivered dynamically and instantly to users, rather than computers.

Application Virtualisation has a number of benefits over traditional method of application deployment 1,2:

  • Uses fewer resources than running applications in a separate virtual machine or remotely from a Remote Desktop Server
  • Run incompatible applications side-by-side, at the same time and with minimal regression testing against one another
  • Implement the security principle of least privilege by removing the requirement for end-users to have Administrator privileges in order to run poorly written applications
  • Maintain a standard configuration in the underlying operating system across multiple computers in an organization, regardless of the applications being used
  • Accelerated application deployment, through on-demand application streaming
  • Fast application provisioning to the desktop based upon where the user is logging on from
  • Streams applications on demand to desktops, Remote Desktop Servers, and laptops
  • Automates and simplifies the application management lifecycle by significantly reducing regression and application interoperability testing
  • Reduces the end-user impacts associated with application upgrades, patching, and terminations - No reboots required, no waiting for applications to install, and no need to uninstall when retiring applications

How Application Virtualisation Works

(Note, this section is from the App-V product page, but the general concepts apply to all application virtualisation products) Virtualized application environments enable each application to bring its own set of configurations and run without any installation within a virtual run-time abstraction layer on the client, so dependencies or effects on the configuration of the operating system are minimized. However, since applications execute locally, they run with full performance, functionality, and access to local services—including cut and paste, OLE, printing, network drives, and attached devices.3

techoverview-grid-3_thumb Standard Operating System Environment: In standard OS environments, applications install their settings onto the host operating system, hard-coding the entire system to fit that application's needs. Other applications' settings can be overwritten, possibly causing them to malfunction or break.3
techoverview-grid-2_thumb The Virtual Application Environment: With application virtualization, each application brings down its own set of configurations on-demand, and executes in a way so that only it sees its own settings.3
techoverview-grid-1_thumb Side-by-Side Virtualization: Each virtual application brings down its own set of configurations and can run side by side without the settings conflicting with each other—or the host operating system. Despite this separation, inter-application communication with other virtual applications and those installed locally is preserved, allowing for cut and paste, OLE, and all other standard operations.3

Sources and Links to more information about application virtualisation: