

OSX Uninstallers the Easy Way - ltaylor
http://adamfisk.wordpress.com/2008/10/22/osx-uninstallers-the-easy-way/

======
jgranby
Almost all Mac OS X apps should not have installers or uninstallers.
(Un)Installation is done by drag-and-drop, and that's how it's meant to be. If
you absolutely need an installer, you can use Apple's installer, which if you
run it a second time presents an option to uninstall. But the recommended and
proper way of doing it is just to use drag-and-drop.

Limewire, the app mentioned, shouldn't have an installer or uninstaller
(other, native P2P apps don't) for its Mac OS X version. As for preferences
and other files created, they remain on your system if you drag an app to the
Trash (i.e. uninstall it), which is also how Apple intended it. There are
tools to remove all traces of an app, like AppZapper, but developers should
always follow the HIG and distribute the .app bundle for dragging, zipped or
otherwise.

~~~
wendyrowland
It all depends on how sophisticated your app is. How do you run launchd with a
drag and drop installer? You don't. That's why there's PackageMaker (made by,
ahh, oh yeah Apple).

PackageMaker doesn't have an uninstaller. The post tells you how to create
one.

~~~
Zev
How many apps legitimately need launchd to start up? I can only think of a few
apps; Little Snitch, VMware Fusion, iStat and, possibly tablet and printer
services. The rest of the stuff, well, Adobe doesn't need to launch a process
at boot for me to use Photoshop.

OS X is not Linux. launchd is not cron. Don't treat them the same way. There's
better way's to autostart an app then (ab)using launchd. Look at the Shared
File List API in Leopard or having your app do a quick search with Spotlight
to find the files and delete them. You could even name it "Reset Preferences"
for the user if you don't want to have a big ugly "Uninstall" button in your
program.

Apps shouldn't be using launchd in the first place. So there should be no need
for an uninstaller.

~~~
skrushnic
Launchd was just one simple example. Applications that use PackageMaker are
using it because they need to do more than have the user drag and drop a
single app bundle. PackageMaker exists for a reason.

Launchd is Apple's recommended way of launching applications on startup. If
you know something better, I'm all ears. If "apps shouldn't be using launchd"
why would launchd possibly exist, and why would they repeatedly recommend it
as a replacement for cron, xinetd, mach_init, and init?

~~~
Zev
Day late, but for launching apps, "Shared File List API" - which i mentioned
originally.

------
anthonyrubin
I have never found the lack of an uninstaller to be a problem. A quick look
reveals 122 items in ~/Library/Preferences and 27 items in
~/Library/Application Support. I'm sure there are a handful of files
elsewhere. This is hardly unmanageable.

