VMware View – Objective 2.12 Create ThinApp Applications and a ThinApp Repository


  • Create ThinApp applications
  • Create or identify supported file share
  • Assign permissions to the share
  • Verify MSI streaming setting in the package.ini files
  • Identify necessary ThinApp package components to put on the share
  • Assign ThinApp applications to pools

Create ThinApp Applications

As with a few of the other topics, I like to start with what ThinApp is.  ThinApp provides a virtualisation bubble between the Operating System and Application, meaning that they are isolated from each other.  This allows us to recompose a View Desktop without affecting the applications which run on it.

View ThinApp

I mentioned the word ‘bubble’ earlier.  When the application is started a ‘bubble’ is created that contains all of the file system and registry.  These settings can either replace or merge with the Operating System file system or registry.   I like to think of it as the merge or replace using Group Policy for Terminal Servers.

What are ThinApp requirements:

  • 32 Bit run on Windows NT (yeah right) or later 
  • 64 Bit run on Windows XP or later
  • 16 Bit applications can only run on 32 Bit versions of Windows
  • 32 Bit applications can run on 32 Bit or 64 Bit versions of Windows

What are ThinApp Limitations

  • If the Application doesn’t work on the Operating System it won’t work on ThinApp
  • Anti Virus software
  • VPN Clients
  • Printer Drivers
  • 64 Bit applications cannot be virtualised

To create a ThinApp Application we need to start of with a blank/clean Operating System install.  I’m going to use Windows 7 32 Bit for my base OS called VMF-THIN01 with 1GB RAM and a 1 vCPU.  The overall process is:

  • Pre-scan in which all file system and registry are collected
  • Install the application and test, test and err test
  • Post-scan in which all file system and registry are collected
  • Comparison is made between ‘pre-scan’ and ‘post-scan’.
  • Configure the ThinApp package
  • Copy’s the different files to a ‘Project’ directory
  • Build ThinApp package

After applying Windows updates, the first thing I’m going to do is take a Snapshot of VMF-THIN01 as this is our base installation which we can revert back to if required.

View ThinApp 01

After taking the Snapshot we need to download ThinApp 4.7.3 to install on VMF-THIN01.  The latest version at the time of this blog post is VMware-ThinApp-Enterprise-4.7.3-891762.exe 

Launch the .exe and Click Next on Patents List

View ThinApp 02

Accept the EULA and Click Next

View ThinApp 03

Don’t worry at this point, you will think is it installing or not for about five seconds, then you will see the Enter License key Screen. Pop your license key in and then a name that will mean something to you for the ‘License display name’.

View ThinApp 04

Awesome that’s ThinApp installed.

View ThinApp 05

Next, I’m going to take another snapshot, for after the ThinApp installation.

View ThinApp 06

Cool, you will notice a VMware folder on your Start Menu and we want to launch ThinApp Setup Capture (I have created a shortcut on my desktop for easy reference).

View ThinApp 07

We are going to click Next to perform a Prescan of our system.  A Prescan creates a baseline of your clean installation, checking the status of hard drive and registry files.

View ThinApp 08

Click Prescan to launch

View ThinApp 09

This process will take some time, so it might be worthwhile getting a brew.

Cool, so now we need to install the application which we want to be packaged.

View ThinApp 10

I’m going to install with Firefox which I have downloaded to the C: drive of VMF-THIN01.  Nothing special here, I have just installed Firefox as you would on any computer.

Now that Firefox is installed, I’m going to run a Postscan by clicking the Postscan icon.

View ThinApp 11

You will notice that once the Postscan has finished, ThinApp will compare the Prescan and Postscan.

View ThinApp 12

Now that’s finished we need to select the ‘Entry Point’ this is a fancy word that really just means the shortcut to launch the application.  In my case ThinApp knows I have installed Firefox and that the ‘Entry Point’ is Mozilla Firefox.exe

View ThinApp 13

We aren’t going to be using Horizon Application Manager or updating an existing ThinApp Package so click Next

View ThinApp 14

Next you can select the Active Directory Security Groups who can run the application.  I have chose View Sales users and we can also define a ‘Access Denied Message’ for users who don’t have access.

View ThinApp 15

The next choice is about Isolation modes.  What the heck are they? Well the Isolation level made determines the amount of interaction the application can have with the OS.

As Firefox is a well known application which has been written properly, i’m going to select ‘Full write access to non-system directories (Merged Isolation Mode)’

View ThinApp 16

Next we have to decide on our Sandbox location.  The Sandbox captures any changes made to the application such as customization’s   We are going to use the defaults.

View ThinApp 36

Err, I don’t want to send VMware any information, so hit Next

View ThinApp 18

Now this part is really cool, ThinApp allows us to use ThinDirect which plugs in to Internet Explorer so that when a specific website is launched it will open in Firefox.  I’m going to enter http://www.vmfocus.com

View ThinApp 19

Now we need to enter the Inventory Name, shows up in Add/Remove Programs and is shown in the Sandbox Folder. The Project Location is where all the files that make up our Firefox ThinApp package are located.

View ThinApp 20

Next we get to choose our Primary Data Container, this holds all the information to run our ThinApp Package.  For me, I’m going to use Entry Point, generally speaking ThinApp makes the right decision, so I will leave mine as Mozilla Firefox.exe

I’m also going to select MSI Package Generation so that ThinApp will create an ‘msi’ version of Firefox for me.  This means I could use Group Policy to deploy the ThinApp package down to regular desktops, now that is pretty wicked.

In this occasion, we aren’t going to compress the virtual package.

View ThinApp 21

Once we hit Save, ThinApp then performs all the tasks we have requested and Packages Firefox.

View ThinApp 22

Verify MSI Streaming Setting in The package.ini Files

Awesome, we are not at the point where we can Verify MSI Package File, to do this we can click on Edit Package.ini

View ThinApp 23

You will see the MSI Parameters and many other settings that can be customised/altered if required.

View ThinApp 24

I’m happy with all of these settings, so I’m going to Build the Firefox Pacakge.

View ThinApp 25

The Build takes a little while, so it might be an idea to grab another cup of tea!

Excellent news, all finished and Firefox is packaged.

View ThinApp 26

If we access the Project Executable by going to C:Program FilesVMwareVMware ThinAppCapturesMozilla Firefox 18.0.1bin you will see our two files, Firefox Application and the MSI

View ThinApp 27

Create Or Identify Supported File Share & Assign Permissions To The Share

On my Transfer Server VMF-TR01 I have created a Windows File Share called ThinAppPackage with the following permissions:

Domain Computers – Read

Domain Users – Read & Execute

View ThinApp 32

Identify Necessary ThinApp Package Components To Put On The Share

Now we have the packaged Firefox we need to copy all the project files onto VMF-THIN01

Source: C:Program FilesVMwareVMware ThinAppCapturesMozilla Firefox 18.0.1

Destination: \VMF-TR01ThinAppProjectMozilla Firefox 18.0.1

View ThinApp 33

We are also going to copy our package files (Firefox Application and the MSI) onto VMF-TR01

Source: C:Program FilesVMwareVMware ThinAppCapturesMozilla Firefox 18.0.1bin

Destination: \VMF-TR01ThinAppPackageMozilla Firefox 18.0.1

View ThinApp 34

Before we move on, it’s a good idea to test our Firefox installation.  To do this, I have reverted VMF-THIN01 back to a state before we installed ThinApp so that we have a clean Windows 7 desktop again.

View ThinApp 35

I’m going to login to VMF-LM01 as Sales01 as the View Sales Users has access to Mozilla Firefox.  This user has no special rights and is a normal Domain User.

I have created a shortcut on the desktop to \VMF-TR01ThinAppPackageMozilla Firefox 18.0.1 so that I can launch the application. Let’s see if it works.

Voila we have success!

View ThinApp 37

Assign ThinApp Applications To Pools

This seems like a really long blog post, however we are on the final hurdle, which is assigning ThinApp Applications to pools.  Seems like we haven’t been into View Administrator in a long time.

Let’s jump into View Configuration > ThinApp Configuration > Add Repository

View ThinApp 38

This is where we tell ThinApp to find ‘msi’ packages.  Which for me is under \VMF-TR01ThinAppPackage

View ThinApp 39

Next we are going to jump up to Inventory > ThinApps > Scan New ThinApps

View ThinApp 40

Select your ThinApp Repository and I recommend using the Top Level Folder so that you scan all sub folders

View ThinApp 41

Choose your MSI file to scan, in my case I only have Mozilla Firefox 18.0.1.msi

View ThinApp 42

If all goes well then your MSI should be ‘added’

View ThinApp 43

Let’s get this ThinApp assigned to a pool shall we.  Select your ThinApp and choose Add Assignment > Assign Pool

View ThinApp 44

Choose which Pool you want to assign the ThinApp too, I’m rolling with VMF_Local_Mode and hit OK

View ThinApp 45

Excellent our Mozilla Firefox MSI is now ready for use.

View ThinApp 46

Let’s login to a View Desktop as Sales01 and see what we find.

View ThinApp 47

Awesome, we have a Mozilla Firefox shortcut, the browser works and it’s in Programs/Features.

ThinApp Resources

ThinApp is such a broad part of View, that we can’t really cover all aspects in a blog post.  However, I do recommend you use the following resources for extra study aides:

ThinApp Users Guide 4.7

ThinApp Blog

ThinApp 4.7 Package.ini Parameters Guide

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s