Packaging apps with ThinApp

During my VCAP5-DTA studies, I have across VMware ThinApp. I’ll be honest, I’ve never liked packaging applications but since it’s on the blueprint, I got to lab it up. I went through the vBrownbag for ThinApp, that’s what got me started on this topic. Full credit to Alastair and Grant. Here’s how I built my first ThinApp, Paint.NET

1. You NEED a clean VM. By clean I mean something with just the base OS and and any Windows updates ONLY. You want to ensure the App you package works flawlessly. So after building myself a new VM (from template) I began to install the VMware ThinApp .exe file. It will ask you for a license, being a trial only, none’s needed. So just click next.


2. Clicking Install, does the obvious.


3. A wizard then greets you and is ready to guide you through the rest of the process.


4. At the next window, you are prompted to install the App you want to package. So go ahead and install PAINT.NET just as you would any other App.


5. During the installation of PAINT.NET you are asked if you’d like to create a shortcut on the desktop. Saying yes to that will place a desktop shortcut on all virtual desktops you deploy off the pool the ThinApp is assigned to.


6. After the installer has finished installing your App (go ahead and restart the machine if you have to), click on Postscan to bring yourself to the next prompt.


7.  The ThinApp wizard will find out that an App (I keep saying App, don’t I!) has been installed. Click Next to carry on>


8. Next you are asked if you’d like to manage the App with Horizon Workspace for central deployment/entitlement/reporting purposes. Choose to do so if you are using Workspace already. Otherwise, just go Next.


9. Next is the part about the location of the sandbox.


By default, the installer puts it in %AppData%\Thinstall location, but if the user doesnt have the rights to be able to write to the computer they are on, you can choose another location – on the same computer or on a network drive.

10. Next, you are asked if you’d like to send any anonymous information to VMware for improving the product. You are then asked to choose the location of the Capture. You can choose a location if you are inclined that way.

11. You are then asked to choose the following

– Primary data container. The name is a bit of a misnomer, there’s only data container per ThinApp i.e. there’s one file that holds all the information – the file system, registry settings etc.. . Now what do you choose out of  the two options you have for the data container?

  • One of the entry points: An entry point is a pointer to the .dat file that holds the application. If you used this option, then your .exe file could get quite large (depending on the application). Loading it into memory could take awhile and possibly some older OS’s may not like .exe files larger than a certain size.
  • Use separate .DAT file: So this option will create a new .dat file for your application. Something interesting I read somewhere is this file does not need to be a .dat file at all! It can be paint.done or paint.hotrod or whatever! I chose to use a separate file for this application so the size of my .exe file stayed small.

– Generate MSI package. This is what you need to be easily able to deploy this ThinApp to your users. Within the View Administration Console you need to have a .msi file for View Manager to pick up a new package. Again the name of the file can be anything.msi

– Compression. As the name suggests, you can save some space but I wouldnt do it because it increases the time it takes for the App to build.


Then click on Save to save the files and registry keys to the location you chose.


12. Finally, you are brought to the point where you are ready to build your ThinApp!


Hit Build to finish the process.


13. If you need to edit the package.ini file to customize the build, go ahead and do so after the build’s finished. Most often the change that’s made is whether to make the ThinApp streaming or a full install. Go with a

  • streaming install. If you need to save space (don’t we all?!), go with the streaming option. The ThinApp is then streamed from the ThinApp Repository (specified in the View Administrator Console).
  • full. The ThinApp is deployed to the virtual desktop.

By default, the app’s set to a full install. Change the value of MSIStreaming from 0 to 1 in the Package.ini file. It’s essential to rebuild the package, this is easily done by re-running the build.bat file.


14. Finally, you can then copy and paste the .msi file and the .exe file to the ThinApp repository location and use the View Administrator Console to add the ThinApp.




Next, you’d assign the ThinApp to pools/users as appropriate.

Leave a Comment

Your email address will not be published.