VMware ThinApp is a packaging format. Like MSI and other packaging formats, ThinApp simplifies application deployment. ThinApp uses virtualization to package your application, which lets you execute the packaged application without having to install it. When using ThinApp, you simply need to have access to your package in order to use the application, as compared to the legacy MSI format in which you need to install and register your application on the local machine. As a side effect of using virtualization, you can isolate the filesystem and registry components from the locally installed applications as well as from other virtualized applications. This allows you to run conflicting applications on the same machine. Since you will never install anything locally, the use of an application will not alter your operating system. Your client will be much cleaner, more stable, and will operate faster for a longer time. ThinApp minimizes the constant reinstallation of the operating system due to repetitive application installs, which leave residue and often create conflicts that eventually leave the operating system in a degraded state necessitating a complete system rebuild.
ThinApp has one very obvious advantage over other solutions out there. It is agentless, meaning you need nothing locally installed in order to execute an application packaged with the help of ThinApp. Being agentless greatly reduces the administration overhead. When a new ThinApp version is released, you don't have to touch any existing packages already deployed. Start using the new version to capture new applications. You can happily deploy these next to an old ThinApp package since there is no conflict between ThinApp versions running side-by-side. Being agentless also lets you offer an application to a user bringing his or her own device without the need to ever touch the device. You don't run the risk of being accused of altering the user's machine.
Out of the box, ThinApp is capable of virtualizing 60 – 80 percent of your applications. Having more ThinApp knowledge and experience might allow you to virtualize up to 85 – 90 percent. You will, most of the time, never achieve 100 percent virtualization. This means you will, most of the time, have two packaging formats in place – native installation (often MSI) and ThinApp. ThinApp supports virtualizing Services, COM, and DCOM objects. ThinApp does not support virtualizing device drivers, Network visible DCOM, Global Hook DLLs, and COM+. There might be workarounds to these limitations. One of these could be to load what is not supported outside the virtual environment. One of the main reasons to virtualize an application is to keep your operating system clean. This is why ThinApp does not make many changes to the operating system when registering a ThinApp package. Registering a package will give you a certain level of shell integration, such as shortcuts, file type registrations, and a few more, but not all. Context menus are a typical example. This changed user experience might be a reason not to virtualize an application, even though ThinApp can package it. For instance, 7-Zip adds a context menu item so that when you right-click on a ZIP file in Windows Explorer, you can perform zip/unzip operations without having to open the application directly. A 7-Zip ThinApp package will happily perform zip/unzip operations when launched directly, but the users will not have access to the right-click context menu. Most of the times you can create context menus pointing to a virtualized application but it is not something ThinApp creates automatically for you when registering the package.
Even though you will probably not be able to reach 100 percent application virtualization, ThinApp adds significant value to your application's deployment and management infrastructure. Every application you manage to virtualize will be easier to maintain and cheaper to support.