June 10, 2008 - Sven Huisman

VMware Thinapp RC review

After having seen the Installfree demo last week, I decided to take a look at VMware’s Thinapp Release Candidate, a.k.a Project Northstar. Features in the latest release are:

  • Application Link: allows administrators to dynamically link ThinApp packages to one another, making it possible to create separate packages for interdependent components (such as Java or .NET) and use them across multiple ThinApp packages.
  • Application Sync: allows customers to execute updates to virtual applications through a secure Internet connection, increasing application portability while reducing security and patch risks to offline and out-of-network machines.

Release notes
Manual

After registering for the release candidate, I downloaded the installer. While downloading the installer (only 7 MB) I had plenty of time reading the manual ;-). Before you begin using this product, you might want to ask, what is Thinapp?

VMware ThinApp enables you to package, run, and manage your software applications. ThinApp captures the installation of an application into a single executable file and enables you to install your captured application with no dependencies on the host personal computer (PC).

OK, you put an application into a single executable file and distribute this to your clients and the client PC’s stay clean. So no application conflicts and easy distributing because it’s just a single file. Now let’s get started.

This review is devided in the following sections:

  1. Installation
  2. Capturing an application
  3. Stream the application
  4. Other options
  5. Conclusion

1. Installation

 The installation was easy. It really was a “next-next-finish” installation. The installer installs the Setup Capture. With this tool you capture the installation sequence of an application and create the executable which also contains the Thinapp client. You don’t need to install a Thinapp server, from which the applications are distributed, this can be done from any type of network share.

2. Capturing an application

It is recommended to use a clean PC to capture applications. VMware obviously suggests to use a virtual machine for this. When you start Setup Capture, make sure to start it from a network share. This way, no changes made by the Thinapp tool itself are captured.

– Start Setup Capture from a network share. The Welcome screen will appear.

– After clicking Next, the following screen is shown:

– Select to Enable advanced scan configuration and click Next. Then the following scan options are presented:

 – These settings are OK to me. Click on Next. The Pre-scan will start:

– After the Pre-scan is finished, you can install your application:

– In this example, I installed Firefox 2.0.0.14. After the installation was finished, I clicked on Next and the Post-scan began:

– When the scan finished, I was presented a screen with a list of executables. I deselected Mozilla Firefox (Safe mode) so that only the Mozilla Firefox.exe was selected:

– Next, you can add Active Directory group names to set permissions on the application. At build time ThinApp converts the Active Directory group names into SID values. This means that you have to be connected to the domain (or use cached credentials). And when you delete a group and recreate it, you’ll have to rebuild the package. You can also set the sandbox location. The sandbox holds runtime modifications that applications make as they are running. Normally, this will be in the user’s profile, but you can also select USB (when the application is run from USB, the executable and the modifications are stored in the same location) or network drive (this personal drive on the network will have to be available to the user, for example by login-script).

– After clicking Next, you can set the project location. You can also choose to build a MSI package and if you want to use compression. ThinApp supports two compression models: None and Fast.
None—None is the default when capturing a package. This option is useful for building your application quickly for testing purposes. No compression also improves application startup time on older PCs, or when the application is launched multiple times. On subsequent executions of the same application, the Windows disk cache can provide data faster without compression enabled.
Fast—This option is recommend for most packages. Fast compression has a very fast rate of decompression, so it has very little impact on application startup time; it also has very little impact on memory consumption at runtime. Fast compression achieves similar compression ratios as the ZIP algorithm.

-Next you will have to choose the isolation mode. The screen is pretty self-explanatory, and for more information, you should read the manual 🙂

– After this, the capture is saved in the project directory.

– When the capture is saved, you get 2 options:
Browse Project (this will open explorer to the project directory)
Build Now (this will build the application)

FINISHED!

3. Stream the application

 Now that we have build a Thinapp application, we are ready to stream it to our clients. Any network storage device can serve as a streaming server for hundreds or thousands of client PCs. To use ThinApp packages in a streaming fashion, place your ThinApp package in a location that is accessible to client PCs, and send a link to end users to run the application directly.
Block-Based Streaming shows how block-based streaming is used to communicate over a network share.
Block-Based Streaming

On the end user’s desktop, you can also create shortcuts that point to the centrally hosted executable package(s). When the user clicks on the shortcut, the application automatically begins streaming to the client PC. During the initial streaming startup process, the ThinApp status bar informs the user of the progress.
After enough of the application is streamed that the application can begin running, the status bar slides down and the user can begin using the application. As more parts of the application are required by the application, they are pulled from the streaming server.

This icon will popup when you start a Thinapp application:

4. Other options

So far for the GUI. All the other settings or adjustments you want to make, you will have to do in configuration files. The most important file is package.ini. These options are set in this file:

• General Options
• Access Control
• Application-Specific
• Application Link
• Application Sync
• Isolation and Virtualization Granularity
• MSI Generation
• Sandbox Control

I will explain the 2 new features: Application Link and Application Sync:

Application Link

You can use the Application Link feature in the package.ini file to configure relationships between applications you have packaged with ThinApp. Following are several examples:
• You can link runtime components to the applications that use them. For example, you can link a package containing the Java runtime environment (JRE) or ODBC drivers to a package containing a browser application.

• You can link add-ons and plug-ins to applications. For example, Microsoft Office add-ons can be linked to applications or Adobe PhotoShop plug-ins can be linked to a package containing PhotoShop.

• You can link packaged applications to service packs. By using Application Link, you can upgrade or roll back your service packs by changing the service pack that you capture and link to its parent application.

Application Sync

Application Sync enables you to automatically keep deployed virtual applications up to date. When an application starts up, Application Sync can query a Web server to see if an updated version of the package is available. If an update is available, the differences between the existing package and the new package will be downloaded and used to construct an updated version of the package. The updated package will be used for future deployments.
Application Sync can be used to do the following:
• Distribute runtime components separately from the applications that use them. For example, the Java Runtime Environment (JRE) or ODBC drivers.

• Link add-ons and plug-ins to applications. For example, Microsoft Office add-ons or Adobe Photoshop plug-ins can be linked using Application Sync.

• Apply layered service packs to your applications. Application Sync enables you to distribute service packs and roll back to previous versions, if necessary.

 There is a tool that can help you edit package.ini and attributes.ini with a GUI. It’s called Thinstallhelper and it’s from CIS-group. It should still work with Thinapp. Download it here.

5. Conclusion

To conclude this mini-(p)review of VMware Thinapp, here are my (pre-)final thoughts:

Pro:

  • Easy installation
  • Easy capturing applications
  • Agentless
  • Application Link
  • Application Sync

Con:

  • You need a clean PC to capture applications
  • Important settings needs to be done by editing files
  • Distribtion of application is too basic. There is no management interface to manage who get’s what applications.
  • There is no auditing for application use.

Virtual Applications Application Virtualization / Installfree / Project Northstar / review / Thinapp / thinstall / VMware /

Comments

  • Bouke says:

    Hi, great job in putting this review together! Gives some nice insight about the features in the product. A comparison chart would be handy compared to other application virtualisation software (Altiris SVS, Microsoft SoftGrid, PortableApps, etc.)

  • […] Sven Huisman heeft op zijn blog een (p)review geschreven over ThinApp. Je kunt het hier vinden: http://virtualfuture.info/?p=28 […]

  • citrix34 says:

    Just have a look to Xenocode (www.xenocode.com), a similar product to Thinapp, but with a better GUI interface !!! (and less expensive too)

  • Sven Huisman says:

    Hi, I actually have taken a (quick) look at xenocode. I will take it in consideration in the comparison chart of Application virtualization sollutions I will publish very soon.

  • […] will be available around July 10th, in the mean time you can find a review of the release candidate here. Possibly related posts: (automatically generated)Notably intraday movement on 26-Jun-2007 […]

  • […] in huis kreeg is recent onder de naam ThinApp voor het eerst onder de VMware vlag uitgebracht. Sven Huisman testte de Release Candidate van ThinApp en kwam tot de volgende voorlopige […]

  • Pankaj says:

    Easy to create the the app, but how do we deploy to the users? Do we have to manually publish shortcuts to the users or will they automatically get some shortcuts when they logon [based on the AD groups that you assigned in the virtualization process?]

    Also, what happens when the user disconnects the laptop and goes to a meet. Now, if the user needs the app, will he/she not have access to the app? Or will the app sync into a local location on the user’s hard drive?

    • Sven Huisman says:

      There is no deployment tool included. So you could distribute the application(-shortcut) with AD group policies or with SMS or Landesk for example.

      For WAN and Internet deployments, in which unexpected disconnections are more frequent, VMware
      recommends one of the following solutions:
      – Deploy applications by using a URL.
      – Use a desktop deployment solution to push the package into the background and only allow execution after the entire package is downloaded. You should therefore deploy the executables to the laptops.

    • Paul says:

      ThinApp can be easily distributed and inventoried using any Software Delivery tool such as SMS, Marimba, LANDesk, Altiris, etc.

      http://www.acresso.com/products/licensing/adminstudio.htm

      IT can wrap a ThinApp package with any of the standard Software Delivery tools and distribute, manage, and inventory their packages using the same tool.

      ThinApp packages need to be registered with WMI using Thinreg utility for inventory and usage. Unlike the other tools – ThinApp does not have an agent so it doesn’t require a new management tool or system.

      There is a nice demo of how ThinApp Packages can be delivered with BMC Marimba here. It is Thinstall but it still works with the VMware branded version:

      http://www.thinstall.com/solutions/bmc.php

      For these tools you would setup either Group Policy (SMS) or Active Directory/LDAP policy (BMC, others) on what applications the users are allowed to have and either deploy or remove based on that policy.

      The ThinApp packages can be delivered in 3 ways depending on your use case:
      1) Directly to the endpoint
      2) USB device
      3) Streamed from a shortcut (Terminal Services, Citrix, or Network Share)

      For laptops – option 1 works the best.

  • Joe says:

    Does ThinApp provide a way to ensure that using the file open/save dialogs would see only the sandbox? (Assume for now that can’t be done through OS permissions.)

  • Chris Davis says:

    I recently found a unwanted ThinApp had been installed in my server farm (granted by poor physical security) is it possible to use AD Group Policy to prevent ThinApp installation or execution on reboot?

  • SAR says:

    The icon will popup when you start a Thinapp application, can this be disabled?

    I hate this…

    THANKS

  • esraa says:

    its really a great tool but when i tried to install it he asked for the serial number and idon’t have it can you tell me what is it?

  • e-t-c says:

    ThinAppHelper Version 3.0 (April 2009) is aviable …

    http://thinapphelper.cis-group.nl/download.php?AppName=ThinAppHelper

    BTW: Fine App, because they no need a host-program installation like Altiris SVS or Virtualbox.