Why there is no standard way to uninstall programs in MacOS? [closed]

Solution 1:

The standard way, assuming the program is following all of the App guidelines Apple lays out, is to drag the .app bundle from the installation location (usually /Applications) to the Trash.

There are some exceptions to this, but for the most part that's how you do it.

The program files that get left behind in ~/Library/Application Support can also be cleaned up if you wish, but they're generally considered benign and can be ignored.

There are uninstall helpers that make the removal of an application and all its support files much easier. So you don't have to Google for details on how to remove things. Take a look at TrashMe or AppCleaner -- both of these tools attempt to automate the search and removal of support files that go along with applications. In the case of TrashMe, it also helps you uninstall widgets and System Configuration plugins, which is handy. I personally prefer TrashMe.

Some software integrates so deeply (MacFuSE or Growl for example) in to the system that the only way to uninstall it via a script. In these cases there is usually an uninstall script in the .dmg file that you downloaded to install the software or one provided by the developer on their website.

Solution 2:

There is no default "uninstaller" largely for the same reason that there is no default "installer".

Most programs are installed simply by moving them to the location from which you want them to run, which is most often your applications folder, but there no reason why (and I see this a LOT) you cannot simply run the program from your downloads folder without ever moving them - this is very common where the .app file is downloaded directly without being inside a .dmg disk image file which then often prompts you to drag the icon to your applications folder.

As Ian C's answer, such apps may leave traces of themselves in library folders etc when they are run, but theses are not considered to be particularly important and safe to leave, and often it's beneficial (either to the user or to the vendor) as it allows for such things as re-installing and finding all your old settings are back as normal, or not allowing re-installing as it finds an old expired trial license etc. The efficacy of this sort of thing is of varying importance depending who you ask.

You do sometimes get programs which use a specific installer, these are often doing things that require more complex procedures to allow them to work, such as installing a kernel module etc, and typically if it comes with an installer, there should be an uninstaller with it, but these install mechanisms often differ from app to app and your results may vary.