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

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 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)


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:


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


  • 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.