Is application virtualization on your wish list? If your organization doesn’t have the infrastructure to support virtual desktops, or you are concerned about performance and availability, Microsoft Application Virtualization may be the answer. App-V uses streaming and virtualization technology to deliver desktop programs to end users. Virtual applications don’t need to be installed on client devices, and unlike terminal services or a VDI solution, programs continue working when there’s no network connection.
Application virtualization promises to distribute software on demand and deploy updates with ease, at the same time maintaining the security and integrity of host operating systems. Best of all, virtual applications don’t rely on having a permanent connection to the corporate intranet, ensuring that employees can continue working should the network go down.
Available to Software Assurance customers as part of the Microsoft Desktop Optimization Pack (MDOP) 2010, App-V 4.6 provides some of the benefits of a VDI solution without many of the drawbacks.
For companies that are not Software Assurance customers, VMware ThinApp offers an alternative to App-V. ThinApp embeds a virtual operating system into sequenced packages, so that virtual applications can run without any client software on the host operating system. Unlike App-V, ThinApp requires a server if you want to deploy virtual applications across a network.
Most of us understand the concept of a virtual machine (VM) — an instance of a complete operating system running in its own virtualization layer, either locally or on a terminal server — but App-V takes a different approach. Using a technology called SystemGuard to virtualize program binaries, related services and registry keys in isolated containers, App-V’s virtual applications have read- and limited write-access to the host operating system. This provides users with an experience similar to that of applications that are installed locally. The most important benefits of application virtualization are:
Furthermore, App-V Dynamic Suite Composition lets virtual applications communicate with each other, which is useful with programs that rely on middleware, such as the Java Runtime Environment.
Applications must be repackaged (sequenced) so they can be stored on App-V servers and downloaded to clients in much the same way that videos are streamed over the Internet. Users can start an application within a few minutes while core program features are streamed in the background, and less frequently accessed features are downloaded when they’re required. If a deployed application requires an update, only the necessary changes are streamed to clients, making the update process very efficient, especially over slow network links.
Important improvements in App-V 4.6 include the ability to sequence 32- and 64-bit applications for 64-bit hosts; support for Windows 7, Server 2008 R2 and Office 2010; and a shared cache to optimize storage when App-V is used with Remote Desktop Services or a VDI. In a confusing move, neither the App-V Management Server or Streaming Server have been updated in this release; these remain at version 4.5 with Service Pack 1.
There are three different App-V deployment models that serve a variety of needs and budgets. A complete App-V setup, or full infrastructure model, requires Active Directory (AD), SQL Server, an App-V Management Server and (optionally) App-V Streaming Servers. Applications are published based on AD group membership; other advanced functionality includes error reporting and license enforcement. App-V Management Servers stream applications using the Real Time Streaming Protocol (RTSP).
The streaming model doesn’t require AD or SQL, and uses App-V Streaming Servers to distribute applications over secure RTSP. Application deployment can be managed using access control lists (ACLs) or Systems Center Configuration Manager (SCCM), but the advanced features of App-V Management Servers, such as application publishing and reporting, are not supported by Streaming Servers.
In the standalone model, applications are streamed from a Windows Server file share or over HTTP(S) using Internet Information Services, eliminating the need to use an App-V server. Clients must be manually reconfigured to download updated applications from the server in this deployment model. Virtual applications can also be deployed from media, such as CD-ROMs.
The prerequisites for an App-V Management Server are Windows Server (2003 Service Pack 1 or later) 32- or 64-bit editions, SQL Server 2000 or 2005 (Standard Edition or higher; Express editions are not supported) and Internet Information Services (with ASP.NET, Windows Authentication, Management Scripts and Tools and IIS6 Compatibility features on Server 2008 and later). The Microsoft Management Console (MMC) 3.0 (or later) and .NET Framework 2.0 (or later) must be installed if you’re not using the latest versions of Windows Server. A public key infrastructure is also required if you want to use the Real Time Streaming Protocol with Transport Layer Security, or RTSP(S). (You can find more detailed information on system requirements at Microsoft TechNet .)
Once all these components are in place, a simple wizard installs the App-V Management Server, Management Console and Web Management Service. The installer will automatically locate available instances of SQL and give the option to create or use an existing database.
App-V Management Servers can stream packages to App-V Clients located on the same LAN using RTSP(S). A separate installer is provided for deploying App-V Streaming Servers, which are required in the streaming model or can be added to a full infrastructure deployment to cater to small branch offices connected via slow WAN links. The Windows Distributed File System Replication (DFSR) service can replicate sequenced packages between Management and Streaming Servers if more than one App-V server is deployed.
Figure 1 – Application Virtualization Management Console
Using App-V to sequence (or repackage) applications so that they can be streamed (or deployed from static media) is somewhat of an art. You should run the sequencer on a clean install of Windows that has a similar configuration to your production workstations. In addition to a system partition (C:\) containing the operating system files, you must create a second partition (Q:\) to hold the resulting package files.
Figure 2 – Monitoring an application installer to create a sequenced package for App-V
The resulting package files must be stored on the Q: partition in folders that follow the 8.3 naming convention. For instance, Q:\Office14.app is the maximum length for a folder name. Here are some tips that can help you successfully sequence an application:
Microsoft also provides a deployment kit  for sequencing Office 2010.
The App-V Client can be installed manually using System Center Configuration Manager, Windows Installer or from the command line with setup.exe. App-V Clients can be configured manually or using Group Policy. The App-V 4.6 Client prerequisites — Microsoft Visual C++ 2005 SP1 Redistributable Package, Microsoft Core XML Services (MSXML) 6.0 SP1 and Microsoft Application Error Reporting — are installed automatically when using setup.exe.
Applications published to App-V Clients run in much the same way as do locally installed applications, just a fraction slower, or with a delay of a few minutes if being streamed for the first time. Administrators can choose to publish an application’s shortcuts to users’ desktops, start menu or quick-launch toolbar. The App-V 4.6 Client supports 32- and 64-bit versions of Windows XP Professional (SP2 or later), Vista (Business, Enterprise and Ultimate) and Windows 7 (Professional, Enterprise and Ultimate).
Figure 3 – App-V Client permissions can be set manually or using Group Policy