8

I've been using Windows for many years so far but just started using a MacBook with OS X.

As far as I'm concerned when I install applications on Windows they just go into Program files (by default). App preferences usually stored in user's folder and probably in the registry.

How do apps get installed on OS X? Do they just go into /Applications directory? Where are the preferences stored? And how using a package manager such as homebrew is different from simply dragging an app to /Applications?

8

Installing Apps

There are several ways to install applications on OS X.

  • The App Store: Another way to install applications is from the App Store. Apps from the App Store are first downloaded as a .dmg to a system directory, and then installed to the /Applications/ directory. Apps downloaded from the App Store are sandboxed, which means that they can only read from and write to specific folders. They're also managed a bit better when it comes to the installation and uninstall process.

  • From the Web/Drag-and-Drop: OS X applications are sometimes distributed as standalone folders with a .app extension or inside of an installer with a .pkg extension. Sometime programs are distributed on a .dmg, which is a disk image containing the .app and perhaps a Readme. Apps downloaded outside of the App Store might not run unless you secondary-click on them to run, and then grant permission. This is a security feature. (It's similar in appearance to the Windows UAC, but it works differently.)

    Applications are typically installed into /Applications/ but each user can have their own applications directory inside of their home folder, located at /Users/{user}/Applications/, or ~/Applications/ for short. Apps placed into the personal ~/Applications directory will show up in Launchpad and Spotlight searches.

  • Package Managers/The Command Line: It's fairly common (especially for developers) to install apps via the command line with homebrew, macports, or even as Ruby gems. These sometimes land in other directories, such as /usr/local/bin/ If you're not sure where a package manager is putting your files, that information is readily available on the internet.

User Data

The closest thing you have to the windows registry on OS X is the notion of a "property list." Property lists are small files saved by each application, and unlike the windows registry, they aren't centralized. Property list files end in a .plist extension. (Interestingly enough, unlike Windows, file extensions don't define what a file is on OS X as much as they do on Windows. Finder does rely extensions for information on how to display a file, but the file meta-data is treated with more significance on OS X than on Windows.)

Sometimes they're saved in /Users/{user}/Library/Preferences/, but they can be saved in a variety of places, depending on the app and the kind of information being stored. For example, Safari stores your pinned tabs and last session in ~/Library/Safari/LastSession.plist

Uninstalling Apps

I had questions about uninstalling apps when I got my first Mac. The simplest answer is that you can just delete the .app bundle from the /Applications/ directory. As noted above, there may be some plist files left behind.

On older version of OS X, there were third-party uninstaller apps that tried to clean up for you. They are still available, but I don't know how well they work, because newer versions of OS X are stricter about security. (You can try AppZapper if you'd like.)

Apple has a knowledge base article that covers installing and deleting apps from outside the App Store.

  • Re "Apps placed into the personal ~/Applications directory will show up in Launchpad and Spotlight searches"; Don't the others do too? – Pacerier Feb 14 '18 at 10:47
  • Re "on older version.."; You mean for older versions of Mac simply deleting the .app doesn't work? – Pacerier Feb 14 '18 at 11:18
6

If the file ends in .app drag it into the applications folder. If the file ends .pkg double click it to run the intaller.

Preferences are normally stored in /Users/username/Library/Preferences or /Users/username/Library/Application Support.

Homebrew is used to install command line applications. There is a plugin (homebrew cask) that lets you install gui applications. If you are not good with the command line don't use homebrew.

  • You don't need to be good with the command line to use homebrew. A few simple commands is all you need most of the time. – zenith Apr 4 '16 at 0:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .