// This is the script to give summary on the main page.
Think IPM

Thursday, June 1, 2017

Total Uninstall -- A paean to the most indispensable IT tool I know!

Here is a great product write-up by my colleague Jacques Bensimon.

It is said that LBJ, who famously favored a powerful walk-in shower that came at him from all angles, once commented to an aide (apparently from the shower) something along the lines of "If you ain't got one of these, your @ss ain't clean!". Historically true or not, LBJ's comment perfectly captures my own feelings about good installation tracking software: if you ain't got one of these, ...


It can easily be argued that the rampant overuse of application virtualization and of "siloing" (the segregation of applications to their own sets of servers) in many TS/RDS/XenApp environments (and even traditional workstation environments or VDI) is the direct result of administrators installing applications and system components "blindly", with not a clue as to what any given installation added, deleted or modified in the target machine's file system and Registry. Not only does this require a constant state of regression testing ("What existing apps might the last installation have broken?"), but any discovered issue that doesn't have an obvious explanation and solution quickly leads to the new app being summarily declared "incompatible" and either virtualized (when possible), siloed, or in some cases even abandoned. The net result is typically the proliferation of different images, each requiring ongoing maintenance (app updates, system patches, etc.), a poor use of resources (more hardware or VMs to support the different silos, some probably underutilized), lack of application interoperability, and user confusion. App virtualization, which has its place, is far from being a universal solution given its impact on performance, resource utilization, and application visibility/interoperability (when it can be used at all).


These issues largely go away if, with proper installation tracking and the immediate remediation which it allows when conflicts are detected (by the installing engineer rather than by users somewhere down the line), a reduced set of images (often a single one) incorporating the bulk of an organization’s or department’s applications can be created. Before your head spontaneously combusts at the thought, let me point out (as I often have to when explaining this strategy to clients) that (a) an installed application that is not currently running takes up no resources (aside from the disk space it occupies and maybe a microscopically larger Registry footprint in memory), (b) the fact that an application is installed does not necessarily mean it is accessible to all users of the image – that’s what ACLs and/or app policies are for, and (c) a single image does not preclude some of its applications from only being accessible from certain silos, should the need arise for whatever reasons (legal, political, etc.) – the same image being employed in multiple silos (with proper control of which apps are available in each one) still solves the ongoing maintenance issue.

So, what is “installation tracking software”?

At the start of my IT consulting career, I got into the habit of using PC Magazine’s InCtrl5 utility whenever I installed anything (or needed to know where an app stored some of its settings) – I maintained a Ziff-Davis subscription for years just in order to have legitimate access to this tool. While slow and flawed in many other ways, InCtrl5 was a lot better than nothing: it operated by taking a system “snapshot” (basically a directory of file system contents and a copy of the Registry) before a tracked action (installation, reconfiguration, …), then another such snapshot once the action was completed, and finally compared the two snapshots to create a fairly primitive report showing file & Registry items that were new, modified or deleted. The reports could be saved as individual files (text or HTML) but not much else could be done with them other than reading them and maybe doing a global search on their contents using other tools. The snapshots were not retained in any useful form, so they couldn’t be chained for re-use – every tracking task thus required taking fresh pre- and post-action snapshots. But it did the job.


And then came 64-bit! As a 32-bit app, InCtrl5, even when it could be coaxed to run on a new platform via compatibility settings, immediately lost visibility of (charitably) half the contents of the 64-bit systems I was working on, and so began a search for a replacement. History doesn’t record the numerous alternatives I looked at and tested, some few freeware – generally useless – and most to some extent or other commercial – somewhat better but still lacking – before finally coming across Gavrila Martau’s Total Uninstall (Oh happy day!):


Originally conceived as an intelligent uninstaller that can ferret out and remove all the pieces of any installed application (the “Installed Programs” module), which I’m sure it does competently given Mr. Martau’s evident talents and understanding of Windows applications, Total Uninstall (or TU) was the solution I sought (and much more) thanks to its “Monitored Programs” module, which is really the only TU aspect I’m discussing here (other included modules are described on the program’s web site). Like InCtrl5, TU compares pre- and post-action snapshots to generate its reports, but the similarity to InCtrl5 stops there. With apologies to the program’s author for what I’m sure will be its many omissions, here’s my list of the TU features that have made it not only my (and many of my clients’) installation tracking software of choice, but also practically my application management hub, and a local, live, navigable & searchable repository of the complete history of the Windows images I create or help maintain (automatic documentation anybody?):

· TU is fast when creating & comparing system snapshots, especially after the first snapshot following machine startup, even when the option to capture & compare executable file versions is used (something I recommend for permanent installation reports even if it does somewhat slow down the snapshot process). 

· TU offers the ability to create and use multiple scanning profiles (i.e. what to include in or exclude from system snapshots, drives/folders/file-patterns/versions/alt-streams/keys) and comparison profiles (what differences to consider or ignore when creating reports). Intelligently considered default scanning & comparison profiles are provided (they include areas likely to be modified by setups and ignore typical “system noise”), but they can be modified or supplemented as you see fit. You can essentially apply the “curiosity level” appropriate to a given tracked action.

· TU retains a configurable number of most recent snapshots (up to a configurable amount of disk space) and not only allows the use of the last one as the starting point for new reports (“chaining”) but also offers the ability to create comparison reports involving any two snapshots at any time. In particular, this means you can retroactively capture system changes by comparing the last snapshot to the current system state. This also means you can create a report of the Windows installation itself (huh?) by comparing a “capture-nothing” empty snapshot with the current system state immediately after Windows (& TU) setup.

· TU installation reports are navigable trees displayed within the main program window and are magically useful: they clearly display color-coded additions, changes (even just to attributes) & deletions, can be used to jump to items in Explorer or Regedit, allow for different views (additions/changes/deletions only, missing items since setup, leftover items following uninstall, and custom views), can be edited to remove “noise”, can be used to Undo/Redo Registry items or entire subtrees, can open files in the text or hex viewers of your choice, can be printed (they look great in PDF or XPS formats), etc. etc. Oh, you can also attach a permanent note to any installation report (e.g. setup source, special considerations, whatever).


· TU displays and can, when possible, apply pending moves, renames & deletions without reboot.


· TU reports are searchable, individually or globally, providing an immensely useful ability to understand the full history of any given file system or Registry item, from original creation through all subsequent changes/deletions/recreations, all the way to its current status. Use TU religiously and you’ll never again wonder where the heck something on your image came from.


· Not only can TU export any branch of Registry changes (as “do” or “undo” .reg files), but it can also create a full zipped backup (files & Registry) of any installation (best done after the report has been cleaned of irrelevant items). The backups can later be restored to the same or different machine, if sufficiently similar to the original, and often even if not. (See also the TU Ultimate description below).

· I knew I’d run out of steam before fully capturing all the wondrous capabilities and uses of TU, but I’d be remiss if I didn’t say something about its author: in all my (and my colleagues’ and clients’) years of using TU, I’ve found Mr. Martau to be as capable, knowledgeable, responsive and courteous a developer as there is. (Example: I recently asked about possibly displaying Registry key modification timestamps, and it’s now upcoming). How does he handle bug reports? I don’t know, never found any! Smile

Total Uninstall Ultimate: This relatively recent edition (“TUU”) adds a command line tool that can be used to automate the creation of system snapshots (not a bad idea as a standard part of machine startup or shutdown) and to automate restoring in unattended fashion any previously created application backup. This turns TU into a competent and fully configurable application repackager and deployment tool, especially useful to perform fast just-in-time app installations or updates on provisioned machines during startup when no other silent setup option is available or trustworthy.

Cost: TU & TUU are not free, but they are dirt cheap! While they currently average between ~$25 and $40 for small corporate purchases, depending on edition (there’s also a portable Technician’s Edition you can run from USB stick at your clients), the real deal is in larger TU/TUU site licenses. I won’t presume to guess at their current price, but several clients have in recent times obtained 1000-seat TUU licenses for a couple of bucks per machine. Contact the author for details (and download a free trial from the web site).

There, my love letter to Total Uninstall, finally done after years of false starts – I didn’t think I could possibly do it justice, and I’m quite sure I still haven’t.


Follow Jacques Bensimon on Twitter @JacqBens

blog comments powered by Disqus Blog Widget by LinkWithin