Sean's Virtual Desktop

VMware App Volumes, Part 1: Introduction and Requirements

Unsure about whether App Volumes is for you? In this primer, Sean untangles its uses and what you'll need to give it a spin.

Other Installments:

Delivering applications to virtual desktops is one of the big challenges faced by VDI administrators. Different strategies are often required for delivering applications to persistent and non-persistent desktops.

Installing apps on non-persistent desktops can be especially challenging. Any changes to the desktop are lost on logout, so new applications must be added to a base image and deployed during a maintenance window. If users or departments require applications that differ from the baseline, administrators must create separate desktop pools for these different application loads; this can significantly increase the storage and administrative overhead.

A few companies have brought products to market to address this, and one of these companies -- Cloud Volumes -- was acquired by VMware in August 2014. This product was rebranded as App Volumes and released as part of the Horizon Suite in December.

What Is App Volumes?
App Volumes is the VMware application layering product for virtual machines (VMs). App Volumes refers to its application layers as App Stacks. These are virtual disks, either VMDK or VHD, that contain everything needed to run the application, such as executables and Registry keys. Unlike ThinApp packages, App Stacks aren't containerized or run in isolation, and the App Volumes agent is responsible for merging the contents of the App Stacks with the file system and Windows Registry. As far as users are concerned, though, the applications contained within an App Stack are actually installed on the system.

App Stacks are officially supported VMs running Windows 7 and Windows Server 2008 R2, so they can be used to deploy applications to both virtual desktops and server-based computing environments such as XenApp, Microsoft RDSH and Horizon Application Remoting. Although newer versions of Windows aren't mentioned in the documentation, I didn't have any issues when using App Stacks on Windows 8.1.

App Stacks can be attached to a computer at startup or to a user session when the user logs in. Per-user application targeting is only supported with the desktop versions of Windows, and it can't be used with server-based computing options such as XenApp. If you do want to use App Volumes with Windows Server, the App Stacks must be assigned to the computers.

What Applications Can Be Put in App Stacks?
Most Windows applications can be packaged using App Volumes. There are a few limitations, though, on how some applications can be deployed or assigned. Any applications requiring services that run at startup, such as antivirus software or system-level drivers, need to be assigned to the computer. These applications won't work properly if attached during user login.

Some applications may also require special steps to be taken during installation to work properly. Microsoft Office is one example, due to how licensing is handled. Office 365 Pro Plus, for instance, needs to be installed in Shared Activation mode in non-persistent environments, so users don't use up the five activations they're allowed. Other applications may require conflicting prerequisites such as different versions of Java. Because App Volumes doesn't have a method for dealing with conflicts, you may need to use ThinApp or some other application isolation technology to ensure that each App Stack has everything it needs.

It's important to test your App Stacks before deploying them to ensure the applications are working as intended. If you plan on deploying multiple App Stacks together, it's important to test all of the App Stacks together to ensure there are no conflicts between the App Stacks.

App Volumes Components and Requirements
App Volumes has two components: a central management console and an agent. The central management console is called the App Volumes Manager, and handles the provisioning and management of App Stacks. Requirements for the App Volumes Manager:

  • Windows Server 2008 R2
  • Microsoft .NET Framework 3.5 feature enabled
  • 4GB RAM
  • 2 vCPU
  • 1GB free disk space
  • SQL Server 2008 R2 or SQL Server 2008 R2 Express

The App Volumes Agent is the application installed on the end-user machines, and it handles the processes that mount the App Stacks and makes them available to users. Requirements for the agent:

  • Windows 7 (32-bit or 64-bit) or Windows Server 2008 R2
  • 1GB RAM
  • 5MB free disk space

The entire App Volumes environment has a few requirements above and beyond the requirements for the App Volumes Manager and agents:

  • ESXi 5 or above
  • vCenter 5 or above
  • Active Directory
  • Horizon View 6 or above or XenDesktop/XenApp 5.5 or above

Now that you know what App Volumes does and the requirements for running it, the next step is to set it up and start provisioning your first App Stacks. In the next article in this series, I'll cover both of those tasks.

About the Author

Sean Massey is a systems administrator from Appleton, Wisc. He blogs about VDI, Windows PowerShell, and automation at, and is active on Twitter as @seanpmassey.


Subscribe on YouTube