A wallflower: That's how I used to describe Thinstall when discussing the movers and shakers of the application virtualization party scene. With its chief competitors already paired off and dancing up a storm, Thinstall looked more and more like the lonesome loser, dateless and stag at the junior prom.
Fortunately, this awkward teenager eventually grew up. With its soulmate VMware by its side for support, the recently renamed ThinApp is now taking its first tentative steps into adulthood. And from where I'm standing, the suddenly more mature and polished application virtualization product looks to be heading in the right direction.
For starters, the core development team -- wisely kept intact during the transition -- is finally starting to tackle some of the lingering design issues that hampered Thinstall's scalability. For example, the product's new AppSync feature addresses a major shortcoming of previous versions: the inability to manage virtualized application packages outside of the normal enterprise IT infrastructure. By embedding a simple HTTP-based synchronization engine into each package, ThinApp makes it possible to slipstream updates for even the most far-flung virtualized applications, using nothing more than a lowly Web server as the distribution and control point.
Sync and link
As approaches go, it's almost fiendishly simple, yet still manages to address an issue that Microsoft and Symantec have been struggling with for years: how to effectively maintain virtualized applications that are distributed over the Web. With ThinApp, this is trivial. Flip a few bits within the package.INI file and you've got an application that phones home on a regular schedule, updates itself if it finds a newer version available at the designated URL, and knows to shut itself down if it loses contact for too long. By leveraging Web protocols in this way, ThinApp bypasses the need for a complex management server infrastructure, making it possible to exploit the robust, proven technology of the venerable HTTP server to scale up to levels only dreamed of by its competitors.
Another ThinApp innovation -- AppLink -- allows an organization to distribute certain shareable software components as discrete ThinApp packages that can then be pulled in by other ThinApp packages at runtime. VMware uses the example of the .Net framework to demonstrate AppLink, but I can think of all sorts of ways that IT shops might leverage such a feature, from distributing and maintaining Java Runtime Environments (JRE) to packaging platform-specific ODBC drivers. In fact, any kind of software prerequisite is a candidate for discrete packaging through AppLink.
Other welcome new features include the ability to package applications as either executable (.EXE) or Microsoft Installer (.MSI) objects; system snapshots for capturing application installations that require a reboot; and support for USB keys as a package distribution medium.
I tested ThinApp running in a virtual machine under VMware Workstation 6.5 beta, with Windows Server 2008 as the underlying host OS. The familiar Setup Capture utility, a holdover from Thinstall, remains the heart of the ThinApp packaging experience. The utility rivals Symantec SVS in terms of procedural simplicity. Just start Setup Capture and then run your application's setup/installation program while the utility captures the various file system and registry changes. But Setup Capture's lack of an advanced mode, where some of the more complex ThinApp configuration options could be exposed, continues to undermine its usefulness.
As with ThinApp's predecessor, you need to do a bit of package.INI file hacking in order to flip many of the more sophisticated switches and settings, including those related to the aforementioned AppSync feature. According to VMware, the company is actively exploring ways to expand and improve upon the Setup Capture UI, and we may even see something akin to the VMware ACE companion to VMware Workstation as ThinApp matures. But for now, true mastery means getting to know package.INI and the rest of the ThinApp build components.
Fortunately for me, I'd spent some time rummaging around these very resources during my earlier reviews of Thinstall. Getting the packages in my test VM to auto-update from a Web server running on the host was a simple matter of editing a single line in the package.INI and then copying the finished package to the target URL. Likewise, I was able to create a link between a packaged version of Paint.Net and a discrete package of the .Net Framework 2.0 using a single entry, with the resulting componentized application loading up flawlessly under a pristine installation of Windows XP Professional.
Overall, ThinApp is shaping up to be a great successor to the powerful, yet frustratingly incomplete Thinstall of yore. However, the product is not without its shortcomings. Although you can hard-code an AppSync update URL into a package, there's no easy way to change this URL at the package level if the update server goes down. And while it's great to be able to update a package over the Web, the AppSync model fails to address the problem of license compliance and how a host site might control user access under a subscriptions-based computing model. These are issues that VMware will need to address if it hopes to thwart the inevitable SoftGrid-powered SaaS designs of Microsoft. In the meantime, ThinApp does a great job of carrying Thinstall's mantle forward as part of the VMware family.