14

I am a beginner in Mac OS. Till now I was using Windows. I know a little about the registry in Windows.

Does Mac OS X manage registries for installed application?

  • If yes
    • Where is the registry stored?
    • How do you modify this registry?
    • Reference link regarding Mac OS registry management.
  • If no
    • what system does Mac OS X follow for installed application?
    • Reference links regarding Mac OS application management.

5 Answers 5

14

There's no registry in Mac OS.

However, you can find most application settings in the Library/Preferences folder. Most apps saves their settings there in separate files. This is not something that's managed by the OS. There's no hive, there's no regedit, nothing like that, Just a bunch of plist files.

4
  • So what happens to these files if I "uninstall" an application by simply moving it to the trash from Applications Directory. Do I need to remove there Preferences manually as well by going into Library/Preferences?
    – basarat
    Commented Jul 8, 2012 at 8:51
  • 1
    @BasaratAli They remain there. However, you could use something like apptrap to remove those files as well; if you move an app to the trash, apptrap will ask you if you also want to remove its corresponding plist files.
    – alex
    Commented Jul 8, 2012 at 9:03
  • There is a regedit, sort of -- it's a command-line tool called defaults. Run man defaults in a terminal window to see the manual for it.
    – SilverWolf
    Commented Apr 29, 2018 at 0:52
  • These plist files are (generally?) binary encoded, so marketplace.visualstudio.com/… can help, if you're familiar with know the types.. otherwise, tips on using defaulst: shell-tips.com/mac/defaults/#gsc.tab=0
    – ptim
    Commented Jan 8, 2023 at 0:19
9

One should add that some programs — mainly those with a Unix or Linux background — are likely to store their data in ~/ in a dotted (thus invisible to the Finder) folder or somewhere inside ~/.config .

So, in the end it is not too simple, unfortunately.

6
  • 2
    But fortunately - I like it. there is no problems like "registry Cleaner", "Registry hack", "Registry problems", "Reinstalling os due to bad registries problems." Commented Oct 15, 2009 at 19:29
  • 5
    @sagar: It's not so simple. There's also no uninstaller for most applications in Mac OS X, so instead of applications clearing their preferences from Library/Preferences, they're usually just left there, taking up space. You end up having to use extra applications like AppZapper to try to clean up the mess when uninstalling. I'd consider this exactly the same as "Registry cleaning". Commented Oct 15, 2009 at 19:45
  • @Will Eddins - Sir, Would You plz give me the download link for "AppZapper"? Commented Oct 15, 2009 at 21:34
  • 2
    @Will the major issue though is that even though old preferences aren't necessarily automatically eliminated, it doesn't cause the same damage that bad registry errors do. If the application isn't started, the preference is never touched. The Preference files take virtually no disk space. So the amount of cruft is minimal. Commented Oct 16, 2009 at 0:13
  • @BenjaminSchollnick, How is this different from window's user applications registry?
    – Pacerier
    Commented Aug 22, 2017 at 4:27
9

Yes, to some degree the so-called Launch Services Database compares to the HKEY_CLASSES_ROOT section of the Windows registry. It is used to determine what applications are willing to open certain documents or URLs, and how they can be used (like to edit or to view). It also tells OS X which application can create the icons as shown in, for example, Finder.

When, for example, you drop some new application into the Applications folder, OS X will notice that and register the new application. This way, there's often no need to run a set up program like in Windows. If this database gets messed up, then one can quite easily rebuild it.

(Likewise, Quick Look might keep a list of generators it has found earlier, but I guess such cache would be updated automatically whenever needed. If one explicitly selects some application to open a file, then that is stored in the file's resource fork.)

3
  • 1
    I think this should be a Partial Yes not a bolded Yes.
    – dlamblin
    Commented Oct 15, 2009 at 21:25
  • 2
    Well, followed by an italic some, and as a reaction on all the earlier (and accepted) plain No's, I disagree a bit... ;-)
    – Arjan
    Commented Oct 15, 2009 at 21:33
  • while I agree with dlamblin this is a bad answer, it showed me new info I didn't know about OSX. thanks!
    – cregox
    Commented Mar 26, 2011 at 19:12
5

Apple does not have a registry like Windows, much to most users glee. Applications themselves are self contained bundles, which at the low-level are really a folder with all the things the app needs to run. This makes application management easy. To install, you just drag the app to the Applications folder. To delete, you just delete it in the Applications folder.

To save preferences and the like for a given application and users, things called property lists are used (plist is the extension for these files). The common place for finding these things are ~/Library/Preferences Applications will also store user specific data/settings in ~/Library/Application Support

Generally these things are modified through the applications GUI, most Apple apps have a Preferences menu. There are a few ways to modify these settings by hand, but tread with similar care as you would before modifying the Windows Registry (though at worst you would break only a specific app and not the entire OS). You can use the utility app Property List Editor to modify plists (which are basically just XML files with key/value pairs). Also you can use the command line "defaults" command. Try "man defaults" from the terminal for more info. But again, this is for the brave at heart.

Hope that helps some.

1
  • But unlike chrome extensions, what's stopping an app from writing its tracking data all over the place?
    – Pacerier
    Commented Aug 22, 2017 at 4:29
1

Don't forget the System Configuration database which holds network settings:

man scutil

NAME
     scutil -- Manage system configuration parameters

SYNOPSIS
     scutil
     scutil --prefs [preference-file]
     scutil -r [-W] { nodename | address | local-address remote-address }
     scutil -w dynamic-store-key [-t timeout]
     scutil --get pref
     scutil --set pref [newval]
     scutil --dns
     scutil --proxy
     scutil --nc nc-arguments

DESCRIPTION
     Invoked with no options, scutil provides a command line interface to
     the "dynamic store" data maintained by configd(8). Interaction with
     this data (using the SystemConfiguration.framework SCDynamicStore APIs)
     is handled with a set of commands read from standard input. A list of
     the available commands is available by entering the help directive.

You must log in to answer this question.

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