How to uninstall complex software

Developers often don’t like to contemplate that you might want to uninstall their product. Most now pay careful attention to ensuring that its installation goes right – and this can be quite tricky in El Capitan, with SIP protection of many folders and files – but you may be left to your own devices when you want to remove it.

Before resigning yourself to having to remove a product manually, check that it does not come with an uninstaller, and that running its installer does not offer an uninstall feature, sometimes engaged with the Option/Alt key held.

There are occasions when, before you can uninstall an old version of a product, you will need to update it to the current version. This may seem paradoxical, but developers support such updates well and will scavenge outdated components during that; the current installer may then offer an uninstall function, or at least make manual removal easier.

Sequence

First, ensure that you don’t need the product any more. This may seem obvious, but many years ago I installed a hardware compression tool in my Mac IIfx. When I upgraded to a model which could not use that card, I realised how many of my old files I had compressed with it, and were then instantly inaccessible. If the product alters files or folders in any way, check that you have converted everything back to the way that it needs to be.

Next locate the last installer which you used for the product, either in a backup or through the vendor’s support site. This is invaluable, as it is likely to tell you what it installs, and where, enabling you to locate its detritus quickly. Searching for those bits individually, and working out what they are, could otherwise waste a lot of time.

If the product was delivered as an Installer package, then you can open it with the Installer app (usually a double-click works fine), just as if you were going to install it. Don’t go beyond the first dialog, though: from there, open the File menu and you should see a command to Show Files. Use that to bring up a text window in which all the components for the install are listed.

installerlist

Open a text editor, and copy from the file listing to a fresh text document each of the components in the package. So, for example, the listing might include one line like
./Library/Extensions/NastyBits.kext
followed by a listing of all the folders and files which go within that. You only need to note that it installs that KEXT in the /Library/Extensions folder.

Once you have identified all the components which would be installed, you know exactly what to remove, from where. Quit Installer.

If the product did not come as an Installer package, and running its installer does not provide any further clues as to what gets installed, then you may find that information on the product’s support site.

Armed with the list, you can now work through the various folders pulling each component out, and putting it in the Trash. Once you are happy that you have got everything cleaned out, restart your Mac and the unwanted product should be gone.

Occasionally, this is not thorough enough, and significant bits get left behind. Sometimes they were not actually installed by Installer, but when you first ran the app. Check the installer contents listing again, and the support website. If the worst comes to the worst, you will just have to look for the residue and trash it when you can find it.

Belt and braces

Identifying all the support files for a complex product can get tricky, and you may have some which leave you in doubt. To be really safe, instead of trashing all the components as you find them, put them in carefully-named folders in your Documents folder first. For instance, if you find a kernel extension DodgyBits.kext, and are not sure that you can remove it safely, create a folder in Documents called Dross, and within that, another named LibraryExtensions. Move the extension to that folder.

If you later discover that you do still need that extension, you can then move it back.

Where to look

If you cannot discover where components have been installed, here are some likely locations in which you can look. In El Capitan, the product should not modify these folders inside the /System/Library folder, but old migrated bits do still get placed there. The most likely library folders in which you will find things now are /Library (for all users) and ~/Library (for only you as a user).

  • Application Support
  • Documentation
  • Extensions – important, these are KEXTs
  • Fonts
  • Frameworks
  • LaunchAgents – important
  • LaunchDaemons – important
  • PreferencePanes – important, although unusual
  • Preferences – usually little and unimportant
  • QuickLook
  • QuickTime – unusual but can be important
  • ScriptingAdditions – unusual
  • Spotlight
  • StartupItems – rare now, but can be important
  • any other folders named after the product or its vendor.