By Gina Daly, Technical Writer for Technical Marketing, End-User Computing, VMware
Since the general availability of VMware App Volumes (formerly known as CloudVolumes), you have probably read about the many benefits that App Volumes can bring to your environment. Perhaps you have already downloaded and tested a trial version. If you use VMware ThinApp for application virtualization, you may be wondering if there are any significant benefits to combining the two products. In this blog, we will discuss the benefits of each product, and how those benefits can be magnified when you combine App Volumes and ThinApp.
App Volumes, ThinApp, or Both?
So, should you combine App Volumes and ThinApp, or not? The short answer is: It depends. There is no hard and fast rule, as individual requirements differ from environment to environment. Let us recap what each product does and the benefits offered.
What Is VMware App Volumes and When Would You Use It?
VMware App Volumes (formerly CloudVolumes) provides real-time application delivery, with application life cycle management, to end users and desktops. App Volumes stores applications in shared read-only virtual disks (VMDK files) that instantly attach to desktops. These VMDKs can be assigned to a user, group, or device. As soon as a user logs in to their desktop, the applications contained in their assigned VMDKs, or AppStacks, appear and function as if natively installed. AppStacks can even be attached after a user is already logged in. The App Volumes approach definitely takes the pain out of application delivery management. In addition, this solution is versatile: App Volumes can be incorporated into other VDI and non-VDI environments. Not only can App Volumes be used with VMware Horizon with View virtual desktops, but it can also be used with Citrix XenDesktop virtual desktops, Citrix XenApp servers, and Microsoft RDSH desktops and applications.
Figure 1: Traditional App Model Versus Real-Time App Model
You can read more about the details and numerous benefits of App Volumes in this blog: Real-Time Application Delivery and Lifecycle Management with VMware App Volumes.
Certain applications, by their nature, cannot be virtualized. You can use App Volumes to instantly deliver these applications. For example, if you need scanner or printer drivers, then these can be installed natively onto an AppStack and deployed to users.
What Is ThinApp and When Would You Use It?
ThinApp virtualizes applications by encapsulating application files and registry entries into a single ThinApp package that can be managed and updated independently from the underlying operating system (OS). These virtualized applications do not make any changes to the underlying OS when they run, thus making ThinApp the ideal solution for application conflicts, application-to-OS isolation, and support for legacy applications and browsers.
Figure 2: ThinApp Architecture
Use ThinApp in situations where you need to run multiple versions of the same application, in parallel. For example, to support a legacy application that requires Internet Explorer 6 on a Windows 7 desktop, you can run virtual Internet Explorer 6 and virtual Internet Explorer 8 together with native Internet Explorer 11 on the same desktop.
VMware App Volumes and ThinApp: The Best of Both Worlds
By combining App Volumes and ThinApp, you can deliver virtual applications to Active Directory users, groups, or computers—in real time and to scale. Does this almost sound too good to be true? Read on for a list of advantages gained from this integration.
- Application isolation and OS compatibility issues solved – App Volumes on its own does not support application isolation. Two conflicting native applications cannot run in parallel, and the same law applies to App Volumes AppStacks. You will not be able to run multiple versions of an application (such as multiple versions of Adobe or Firefox) and you will not be able to prevent DLL conflicts on the same desktop with App Volumes alone. ThinApp provides value to App Volumes with its isolation and support for legacy browsers and conflicting applications.
- Improved enterprise entitlement – App Volumes allows for flexible entitlement of AppStacks, to Active Directory users, groups, or devices. Using an App Volumes AppStack, you can easily entitle a set of ThinApp packages to View or XenDesktop users. When you integrate ThinApp with View, you can entitle ThinApp packages to desktops and pools. User-based entitlement is not included in the View-ThinApp integration. If you integrate ThinApp with App Volumes and View, you can entitle sets of applications to users, groups, or devices.
- Instant application delivery – App Volumes delivers applications instantaneously. When an AppStack is attached to a virtual desktop, a VMDK file attaches to the desktop; the user sees the assigned applications within seconds, literally at the click of a button. App Volumes VMDKs can be stored on any supported VMware vSphere datastore, so IT can leverage the most efficient storage in their environment. In addition, a single App Volumes virtual disk can be assigned to many desktops, also contributing to the speedy delivery of applications in an enterprise environment, while helping reduce storage requirements.
- Enhanced performance – App Volumes does not move bits across the network as is true with the traditional View and ThinApp integration. ThinApp streaming has its advantages; however, it does require some design considerations. ThinApp streaming is dependent on the network stack, while App Volumes delivery and execution uses the storage stack. Using App Volumes to deliver ThinApp packages results in efficient performance that is predictable at scale. You get all the performance of a native and locally installed ThinApp package, rather than the performance of a streamed ThinApp package from a central file share.
- Reuse existing ThinApp packages – There is no need to recapture applications to achieve an App Volumes-ThinApp integration. Existing ThinApp packages can easily be reused and enabled for use with App Volumes by following one of the two methods described in Technical Details. Deploying ThinApp packages with App Volumes allows for all the benefits of local deployment, with centralized administration, and without network streaming.
How does it all integrate and what components are needed? Let us recap: App Volumes can easily deliver applications to virtual desktops in large enterprise environments within seconds, particularly VDI environments. The strength of ThinApp is in its application isolation ability. To implement the combination of App Volumes and ThinApp, you need a third product, namely a virtual desktop solution such as VDI. (We already mentioned App Volumes is compatible with Citrix XenDesktop and Microsoft RDSH desktops.) How do you integrate App Volumes, ThinApp packages, and the third product? In brief, you create an AppStack from the App Volumes Manager and install the ThinApp packages on this AppStack during provisioning mode. After the AppStack has been created, you can then assign or entitle this AppStack to multiple users, groups, or devices in your VDI environment.
Figure 3: ThinApp Packages in App Volumes VMDKs
Are you wondering how to enable your existing ThinApp packages for use with App Volumes? Let us take a brief look at two scenarios to do this.
The first method of enabling a ThinApp package for use with App Volumes involves creating an MSI file (if it does not already exist) from your ThinApp project. To create an MSI file, you enable the MSI section in the Package.ini file of your ThinApp project directory. You then simply rebuild your project, by running build.bat, which produces an MSI file you can now install during AppStack creation. If you have a small number of ThinApp projects, this task is straightforward. However, for a large number of ThinApp packages, this task can become burdensome. Who wants to spend hours editing each Package.ini file, followed by a project build? Which leads us to the second method…
(It is worth noting that if you are creating new packages, select the Generate MSI package option during Setup Capture, and your ThinApp project will be App Volume-ready! Selecting this option during Setup Capture generates all of the necessary Package.ini MSI parameters.)
Thinreg Command Line
If you need to enable a large number of ThinApp packages for use with App Volumes, it is preferable to use the thinreg.exe command-line method. This involves a bit more preparation, but after the groundwork is set, the thinreg command is run against all of your ThinApp packages at once (as opposed to running build.bat for every updated project, as described previously). You need to create a folder into which you place the thinreg.exe tool along with all of your ThinApp projects’ EXE and DAT files.
Begin AppStack creation from the App Volumes Manager, and at the Provisioning Mode prompt, you can run the thinreg command to register the applications on the AppStack. The command to run is
thinreg.exe *.exe “C:\<ThinApp Repository>\*\*” /a
In this example, ThinApp Repository is the name of the folder that contains all of your projects’ EXE and DAT files. The /a switch registers all of the packages in the ThinApp Repository folder to all users of the system. When the ThinApp packages have been registered, you can continue and complete the AppStack creation process.
Detailed step-by-step instructions for these two methods of enablement of ThinApp packages for use with App Volumes are described in the blog Using VMware App Volumes with ThinApp Packages.
In conclusion, the combination of App Volumes with ThinApp offers a flexible delivery and isolation solution for all your application delivery needs. This solution provides a rapid deployment mechanism with support for a variety of application isolation use cases, and still retains robust performance! Add in reduced storage and network costs, and App Volumes with ThinApp truly is the perfect mix. Check out the blog Using VMware App Volumes with ThinApp Packages and start reaping the benefits right away!