Application Virtualization with ThinApp (formerly Thinstall)
I don’t know why this is not getting more attention. VMware and Landesk‘s Thinstall (now called ThinApp) has been out for close to two years now and I continue to be surprised that it is not more widely adopted. It is a great product that really lives up to the hype.
Application delivery to multiple devices is always a challenge for organizations. An enterprise with 1000 machines will, without proper controls, have 1000 different configurations. With IT resources stretched to their breaking point in the current economic environment, it is not practical to sneaker-net software delivery. What can you do?
You can package applications to create install-able MSI’s then use a delivery tool like Landesk or Alteris. This should be part of the solution, but packaging to MSI’s is not always easy, and done correctly takes lots of time and energy.
For smaller applications you can use auto delivery tools like ClickOnce. These are great tools – they allow the application to check its version against a “gold” copy and if it is out of date, the new version will be delivered to the desktop automatically. The problem with these types of tools is if an app has other software dependencies (Adobe, Office PIA’s, whatever) a simple upgrade via ClickOnce will not be enough.
Wouldn’t it be great if you could simply copy an executable (a la Linux) to a machine that contained everything an app needed? Well, you can with ThinApp.
ThinApp puts a shell OS and whatever components you want around an application then compiles them into a single executable that you can copy to any machine. When you run the executable, it starts up a VM with its own registry and virtual C drive located in the user’s profile space (no worry about admin right here). The target machine’s OS can be different than the OS the application needs. This can be great for legacy apps that are not compatible with newer OS versions. Also, since the executable runs in it’s own space, you can run differing versions of the same application on a single machine. For example, you can run IE6 and IE7 side by side.
The advantages of this technology are many. In a Citrix environment, if you run standard installs and have to upgrade MS Office for example, you will have to go through the install on every machine in the cluster. This can mean downtime and is time consuming. If you ThinApp the Office suite, upgrades are just a file copy away. Another advantage is that you can have the executable on a file server and just put shortcuts on desktops. Do that, and you only need to update a small number of copies to upgrade large numbers of people.
There are downsides, of course. The executables are huge when compiled. Half a gig for a single executable is not uncommon. There are quirks to the software too – not all applications will work, especially those that require interaction with other applications on the desktop. For example, if you have an application that uses Excel or Word components, it is difficult to get them to work right. Also, if you have an application that contains code that can be used by another application on the desktop (think spreadsheet addins included with many market data applications) these too are difficult to get right.
Most applications are a breeze though – use Vmware to run a clean OS, start the ThinApp capture, install the components and the application you need, run the post capture and compile and you are done. Many apps take less than 15 minutes to complete the package.
This is seriously good stuff.
Good post, believe it or not I had no idea this type of self installation emulation software existed. Can’t wait to try it! thanks for the great article!