7

I've seen advice on an per-application basis, but is there a standard approach like Add/Remove Programs in Windows?

  • There is no such fantastic API to cleanly manage applications installation in Windows or in MacOS X. You approach this paradigm with port environments as MacPorts and similar on other Unix systems. – dan May 8 '12 at 19:57
3

None that I know of (as advertised by Apple, I mean). I found this on my bookmarks: http://www.thexlab.com/faqs/uninstallingapps.html, which might give you a better idea of what to do before and after installing applications.

There are a few apps that take care of this too like: AppCleaner which tries to find the documents and settings the application uses (though it's debatable how efficient/reliable this apps or any app of this nature really are)

  • 1
    +1 for AppCleaner. As to its effectiveness, seeing what it finds and deletes makes my think it, and similar, does a pretty good job. At least as good as a windows uninstaller, which leave stuff behind more often than not. – John Gardeniers Aug 5 '09 at 10:46
  • +1 for AppCleaner too. For anyone reading this answer, I have been using this app for a while and it works like a charm on macOS High Sierra. – Nimesh Neema Mar 30 '18 at 17:39
10

Remember that (most) Mac OS X apps are installed self-contained; i.e., you simply drag a copy of the *.app folder into the Applications directory of your choice.

Once reason for this is to simplify the uninstall - delete the app folder; simple.

  • This is not correct. spotlight will show you what is left behind. – chiggsy Jul 17 '11 at 1:55
  • 1
    It is correct, it says most apps. – Jonathan. May 8 '12 at 19:04
3

The vast majority of OS X programs are actually bundles; if you open the terminal and navigate to the application folder, you'll find that your applications are actually directories (folders). Inside are various libraries, executables, resource files, etc.

To uninstall you usually...usually...just drag the application to the trash and empty it. Then do a search from the Spotlight textbox (think it's a dropdown from the magnifying glass in the corner) and look for the application name to find any .plist files in the library folder(s); those are the preferences. You can drag and drop those into the trash as well. Then the application should be gone.

I say usually because some applications did use installers when you put them in, and sometimes those installers can when re-run uninstall the program. The majority, though, can be eliminated as described above, especially if you installed it by dragging it to the application folder in the first place.

If you screw up somehow you could always just reinstall the application and look for a README file in the installer DMG volume. I've seen a lot of applications that come with a README just to tell you to drag the application to the trash to uninstall it.

0

The other comments here are right on for uninstalling applications, however you may want to try something like Hazel which has functionality for deleting an application's related/support files when you have dragged the app to the trash.

0

I've used AppZapper with good results

0

Use Spotlight.

First drag the app to the trash. Wait.

First background:

 man hier   # get an idea of where that stuff should be.

Then run:

 mdfind -name AppName      #identify all the stuff that got left behind.

Then to actually remove all files, which is what you would want:

 mdfind -name AppName | parallel rm -rf {}      # xargs works as well, but not as cool

There is something I just don't get about uninstallers i guess, on OSX. Files have a place to go, it's all very well documented, I do not understand why 9/10 uninstall scripts leave preferences, and Cache and Application Support directories around.

0

Nope. The installer framework in OS X (.pkg files) does not actually support uninstall. So it's manual cleanup on a case by case basis.

0

I use a one liner borrowed from a user somewhere else on this site, or related sister site, or from macosxhints (I no longer remember the reference or I'd post a link), that I turned into a script (called "uninstaller") and adjusted slightly by changing the rm command to using a safer command line program installed using macports, rmtrash. The user provided bom receipt file should be in /private/var/db/receipts if the application to be removed was installed using an installer and the dev included one. The script will place all files installed into the user's Trash.

 #!/bin/bash
 #uninstaller /private/var/db/receipts/com.url.name.of.app.bom
 #uninstall os x application installed with installer -pkg
 #using (user) provided bom receipt
 #place all installed files and directories in user's Trash

 lsbom="/usr/bin/lsbom"
 cd="/usr/bin/cd"
 sudo="/usr/bin/sudo"
 xargs="/usr/bin/xargs"
 rmtrash="/opt/local/bin/rmtrash"

 lsbom -fls "$1" | (cd /; sudo xargs rmtrash -u $USER)
 exit

Installing MacPorts and rmtrash is simple enough, however, once xcode (for Mavericks 10.9 xcode_5.1.1.dmg) is installed:

 curl -Ok https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
 tar xf MacPorts-2.2.1.tar.bz2
 cd MacPorts-2.2.1
 ./configure
 make
 sudo make install #not war!
 cd ..
 rm -rf Macports-*
 sudo /opt/local/bin/port -v selfupdate
 export PATH=$HOME/macports/bin:$HOME/macports/sbin:$PATH
 export MANPATH=$HOME/macports/share/man:$MANPATH
 sudo port -vsc install rmtrash
 diskutil quiet repairPermissions /

You must log in to answer this question.