Uninstalling Software on Mac OS

mac-tips

As a long-time PC user, it was ingrained in me that never simply delete a program (i.e. put it in Recycle Bin) when you want to uninstall it while using Windows — that’s a HUGE no-no!  In Windows, you always going through some kind of uninstall process — be it using an uninstaller or go to Control Panel–>Programs and click on the software to uninstall.

In Mac OS, uninstalling a program is doing the exactly what you’re not supposed in Windows — putting the program executable into Trash!  That’s because Mac OS doesn’t have anything like a Windows Registry.

THE ANATOMY OF A MAC APPLICATION

app-screenshot

* Mac applications have the file extension .app, and they are called bundles.
* Even though it looks like a single double-clickable file, an .app file (bundle) is a special folder that contains most of the files, if not all, needed for the Mac application to run.
* If you control-click (right-click) on a Mac application, you will see the option of See Package Contents.
* In other words, Mac applications are mostly self-contained — no application file gets into the OS’s system file structure.  No registry (system file database) needed!

UNINSTALL = DROP IT IN TRASH

Because the application is self-contained, uninstalling it means simply moving the .app file to the Trash folder.
It’s THAT easy… Well, almost…

Sometimes applications use preference files and/or application support files and these are not stored in the .app bundle.  So when you uninstall an application by dragging the .app file to Trash, there might be preference and/or application support files left behind.

Preference files, usually stored in the user’s Library folder (<user>/Library/Preferences), can be deleted without causing any problems.  They usually only take up little disk space, so if you think you might reinstall the application later on, leaving the Preference files alone is not going to cause issue either.  You might also find preference files in the system-wide Library (/Library/Preferences).

Application support files are usually extra library of files used by the application itself, they can also be support files for the users (e.g. Help files).  They can be found in the user’s Library folder (<user>/Library/Application Support/) or the system-wide Library (/Library/Application Support/).

ANYTHING ELSE…?

When I uninstall Google Chrome, I also went through both my user Library and system-wide Library to make sure I got rid of all the Google related files (Chrome was the only Google application I had).  I recommend doing ONLY so if you are ABSOLUTELY sure no other application is using these files.  If another application needs these files in order to run correctly, deleting them will cause problem and could cause your OS to become unstable.

For applications that spawn automated process (such as automatic software updates), you might receive some errors in the Console that looks like this:

com.apple.launchd.peruser.501[101] (com.google.keystone.root.agent[1432]) posix_spawn(“/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/
Contents/Resources/GoogleSoftwareUpdateAgent.app/
Contents/MacOS/GoogleSoftwareUpdateAgent”, …): No such file or directory

I received these errors because I deleted the GoogleSoftwareUpdateAgent .app bundle.  Mac OS’s spawn process com.apple.launchd.peruser.501 kept trying to start the Update Agent, but since it was deleted, the process resulted in error.  To stop such error, I found the following instructions from blog.sirkevi.com:

delete-plist

* Start Terminal (Applications->Utilities->Terminal)
* Type launchctl list This shows you a list of autostart services
* You should see the process-in-question on this list (in this case, it’s com.google.keystone.root.agent)
* Type launchctl remove <process name>

— In this case, it’s com.google.keystone.root.agent because that’s the process that’s resulting in error

* Go to /Library/LaunchAgents (or <user>/Library/LaunchAgents) directory to delete any plist file(s) associate with the process

It worked and I don’t see the error anymore in the Console.

HOW ABOUT INSTALLER/UNINSTALLER?

If an Mac application was installed using an installer, it’s likely that it has an uninstaller as well.  If you don’t see the uninstaller in the software zip package (.dmg disk image), you could try running the installer again to see if there’s an uninstall option.

There are also 3rd party uninstallers that clean up the preference and application support files.  AppZapper and AppTrap are two examples.  As with any 3rd party application, use at your own risk.

 

Sources: MacRumors.comblog.sirkevi.com