Going deep on capturing applications using ThinApp

A quick tutorial on how to do a couple of things I figured out how to do while playing around with ThinApp.

This session was all about ThinApp, a product I only started playing with last week when I did my first teach of

the VDM 2.1 product from VMware. I learnt some interesting stuff that I didn’t know about, mainly because all I had previously done was next-next-next usage of ThinApp. Firstly, it is possible and legal to make changes to the application after the installation and before you “capture” and “build” the ThinApp. This is something I’ve been doing for sometime with Citrix Packager and WinINSTaller. The downside of doing this is, although it's great to configure settings where it is sometimes difficult to locate/set in the registry, it does assume that all the users will get the same settings.

All ThinApp applications get a .INI file that allow you to handle document extensions and their associations. So if you are running two copies of Word on the same PC (Word 2003 and Word 2007), you can make .doc be associated with Word 2003 but leave .docx to be associated with the Word 2007.

I was really surprised and pleased to hear how thin ThinApp is, apparently the entire runtime within which the ThinApp executes is only 400KB! The other thing I didn’t know was that you get a “free” copy of VMware Workstation when you buy ThinApp to assist in building applications. Even if you use ThinApp on physical PCs, it is still easier to install, capture and build a ThinApp using some kind of virtual machine. This machine can always be reset to a “clean” state ready for the next ThinApp with snapshot. After the install you just “revert” the VM back to original state.

Johnanthan Clark then went on to show a couple of cool automation features, such as creating a ThinApp by using a .cmd file. With just six lines of CMD, it outputed a ThinApp at the other end, the kind of stuff that any admin guy like me could pick up and use. You can also sign off ThinApps with certificates using Authenticode; the main values of this was to show how you could build and download a ThinApp on-the-fly. The idea behind this being that when the user clicks a link in a webpage on your intranet, you can build and download the ThinApp as they need it. So let's say the user clicks a PDF file but doesn’t have Acrobat Reader, you can package & download a ThinApp on-demand for them to use.

In case you don’t know, ThinApp creates a “sandbox” or isolation environment; this is critical in allowing two versions of the SAME application to run on the same machine (virtual or physical). There is one downside to this approach - shell extensions, such as right-click menus or context menus or taskbar extensions, don’t work. The ThinApp guys showed, to some degree, how these problems are going to be addressed with ThinReg. With any luck, in the next version this will solve other problems such as DDE. Currently if you double-click at 10 .xls file you would get each of them opened in a separate instance of Excel in ThinApp. This means that ThinApp is loading 10 times as well, which is obviously not very efficient. They also hope to fix extensions that allow mailto: and http:// references to work in applications.

Now, the best was left to last. This is something I will call ThinDesktop (because there doesn’t appear to be a name for it!). Rather than packaging up each and every application (which offers a high-level of granularity) you can simply install the applications natively into a separate desktop space. Clicking at an icon in the tray allows you to switch between the local physical desktop, and this local “virtual” desktop. Theoretically, this would allow you to have many desktops on one physical or virtual machine and just toggle between them. You can also move these ThinDesktops from one computer to another.

This was first published in September 2008

Dig deeper on VMworld conference coverage



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: