Application virtualization with VMware ThinApp

VMware's ThinApp technology can increase application compatibility in Windows environments. An expert explains the virtues of application virtualization and explains how to configure a virtual application with ThinApp.

To a certain extent, application virtualization is a forgotten area, because many environments don't use this virtualization strategy. But on an as-needed basis, IT pros employ application virtualization to enable application compatibility and increase application portability.

This tip explores VMware's  ThinApp technology for application virtualization, how to use ThinApp to configure an application and how the software increases application compatibility in Windows environments.

What is application virtualization?
In short, application virtualization encapsulates applications from the underlying operating system on which they are executed. VMware ThinApp can aid Windows environments where conflicting applications stand in the way of application compatibility. Basically, ThinApp rolls an application into an installation file that is placed on several systems without the complications of a traditional installation. For example, You can avoid dynamic link libraries (DLLs) and other component compatibility issues by virtualizing the relevant parts of the application.

Application configuration with ThinApp
One area where virtualization users benefit from ThinApp is by keeping multiple versions of software "installed" locally for support reasons. An example is using ThinApp to have one system run multiple versions of Microsoft Office concurrently with a help desk having to support the entire line. In this scenario, the first stepis to install ThinApp on a system. The ThinApp installation is quite simple and asks basic questions, such as serial number and username. On  VMware's website, you can get a free 60-day evaluation of ThinApp and see if it matches your needs.

Run the ThinApp capture on an entirely clean system:, that is, a system that has only the operating system and a service pack installed. Once ThinApp is installed, the capture is initialized from the ThinApp group on the Start Menu. Figure 1 shows the wizard taking a baseline snapshot of the environment.

Figure 1: Click on image to enlarge

Next, ThinApp scans the local system to assess the Windows registry, files and other measurable elements of the installed operating system. During this process, you can install an application while ThinApp monitors the changes that occur. In my example, Figure 2 shows Microsoft Office 97 being installed on the system while ThinApp monitors the environment.

Figure 2: Click on image to enlarge

Once the application is installed, perform any necessary customizations , such as establishing preferred paths for files or installing a dictionary for the spell-check function. When these customizations are complete, return to ThinApp to finish the capture and initiate the post-scan process to enumerate the changes to the OS during the installation. Figure 3 shows this process and the end result.

Figure 3: Click on image to enlarge

The new version of the application can then be built with access security and messaging that is appropriate for your organization. It is then redirected as a Windows Installer package, or .MSI file. Figure 4 illustrates the creation of the .MSI file.

Figure 4: Click on image to enlarge

Following the creation of the .MSI file, it becomes a transportable entity that can install the bundled application. Because the .MSI file is a native Windows installation format, there is no additional footprint needed on the client. Specifically, there is no "player" or "agent" software needed to use a ThinApp virtualized application. With most configurations, the installation of the virtualized application isn't an interactive process. In fact, the application simply installs to the path that was used on the source system with an appended name. The example below shows the installation path for the test instance of the virtualized Microsoft Office 97:

C:\Program Files\Microsoft Office 97, Professional Edition (VMware ThinApp)

Once the virtualized application begins to run, a quick splash screen popsup and notify the user that it's a virtualized application. Figure 5 shows this splash screen.

Figure 5: Click on image to enlarge

VMware Tools is visible in this image, but that's because a virtual machine was used. ThinApp doesn't install VMware Tools or any other virtualization-related agent.

Storage considerations for ThinApp packages
While ThinApp is a slick tool, the associated storage requirements for these packages are surprisingly high. The larger Microsoft Office packages have a 150 MB footprint on the source machine, but when converted to a ThinApp package in my example, the footprint was more than 300 MB. This is because ThinApp encapsulate the added files of the installed application and the peripheral components of the operating system. Your package sizes will vary, so go through a few drills based on your configurations to ensure compatibility and prevent a storage dilemma.

Additional tools in ThinApp
ThinApp offers a real-time thread view that shows current activity along with trace file functionality. This tool provides a picture of the changes that occur in the capture pre-scan and post-scan stages. The trace file functionality takes a specific snapshot of the operating system and archives it. This is helpful for documenting the configuration of virtualized applications. It should be noted that additional storage is required to use the trace file functionality. Figure 6 shows the ThinApp Log Monitor creating a snapshot before and after a capture.

Figure 6: Click on image to enlarge

The easy interface makes it possible for server administrators to create application packages.

Pricing information
The list price for ThinApp starts at $6,050 according to the VMware online store. Every pricing option includes some level of support, 50 client licenses and VMware Workstation. Workstation is provided because it's an easy environment for building packages and has snapshot features that allow you to return to a clean state to test virtualized applications.

The example I've presented used Windows XP to illustrate a common client-side solution. ThinApp can also be used on server platforms, because the capture and package building process is similar on server systems.

Available resources for ThinApp
Application virtualization can ease compatibility problems in IT environments. The  VMware ThinApp blog has several posts on uses for ThinApp, including making ThinApp packages for a specific  Java runtime, and  creating SQL Server Express/MSDE databases. If you have a configuration issue that is a good candidate for application virtualization, ThinApp should be on your list of tools to evaluate.

 Rick Vanover, (MCITP, MCTS, MCSA) is a systems administrator for Safelite AutoGlass in Columbus, Ohio. Vanover has more than 12 years of IT experience and focuses on virtualization, Windows-based server administration and system hardware.

And check out our Server Virtualization blog.

Dig Deeper on Application virtualization