Reviews

Review: Thinstall

Thinstall 2.5
$1475
Jitit, Inc.
San Francisco, California
(415) 274 2558
www.thinstall.com

I passed on some information on Thinstall a couple of weeksback. This is the installation application that takes your application and wraps it up, along with a special virtual machine, into a single executable file. Now that version 2.5 is out, I got my hands on a copy and started to pound on it.

My first experiment was pretty simple: I took one of my own .NET applications that uses all sorts of cruft from the Framework, and ran it through Thinstall. The process was dead simple: when I launched Thinstall, it prompted me for an executable, figured out that it was a .NET application, and asked if it should grab the appropriate parts of the Framework. I adjusted the file list slightly (deleting some stuff from the build folder that I didn't want to ship, adding a help file that was stored elsewhere) and told Thinstall to go build. A while later (the compression process is CPU-intensive and can be slow) I had a 9MB executable. And, guess what: it worked perfectly. Not bad for something around 40% the size of what I had ben shipping.

After the proof of concept, I started digging a bit. What I found was a well designed and implemented system with an extensive help file. For example, my little application writes some of its configuration data to the registry. Defining a "virtual registry" inside of the monolithic Thinstall virtual machine turned out to be as simple as including a registry script listing the keys. Leaving out a key wasn't a problem either, as the VM falls back to the real registry if need be.

Thinstall also offers a complete licensing system for the software that you ship with it. You can create timed trials, or trials that expire after a fixed number of uses, or licenses that expire on an absolute date. Thinstall also has quite a number of anti-cracker features built in, designed to do things like make the application crash if someone tries to attach a debugger. While no such system offers absolute security, it appears to me that the features here raise the bar more than high enough to prevent casual hacking.

New in 2.5 is a scripting system that lets you catch application events and modify permissions. For example, you might catch a startup or license change event, and disable printing or cutting and pasting for the application running inside of the Thinstall virtual machine. Couple some scripting with an Office document and one of Microsoft's free viewers, and you have a way to add DRM to documents with very little overhead. There's nothing to this besides writing and including a simple VBScript file.

Overall, Thinstall seems to deliver quite well on its promises. It's not the answer for all software installations (for example, if you're building a server database to go with your application you need something besides Thinstall), but for compressing and protecting executables it's great. Thinstall is licensed on a per-developer basis with no runtime charges. You can get a 14-day trial copy from their Web site (and if you're a blogger, you can get a discount on the full license as well).

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.