Hi, R C-R and Mark —
R C-R, I hope you don't mind my piggy-backing here — to explore this in a bit more depth. I've wondered about some of the same things that I think you are.
Mark, between what you've said here and in your post in
another thread today, you've cleared up several things that have confused me about Launch Services. Much appreciated.
I wonder if you'd help to clear up something else, too. My question(s) will make more sense after I add a little detail to the discussion about registering applications.
Launch Services Concepts and Tasks does a good job of explaining most of the details of the API, imo. As good or better than many ADC docs, anyway (such as the much less
layperson-accessible
Launch Services Reference)...
How Does Launch Services Register Applications? In the section "Registering Applications," the former ref. explains 3 ways that applications may be registered
"to make them known to Launch Services and copy their document binding and other information into its database." —
"
• A built-in background tool, run whenever the system is booted or a new user logs in, automatically searches the Applications folders in the system, network, local, and user domains and registers any new applications it finds there. (This operation is analogous to “rebuilding the desktop” in earlier versions of Mac OS.)
• The Finder automatically registers all applications as it becomes aware of them, such as when they are dragged onto the user’s disk or when the user navigates to a folder containing them.
• When the user attempts to open a document for which no preferred application can be found in the Launch Services database, the Finder presents a dialog asking the user to select an application with which to open the document. It then registers that application before launching it."
My question(s): Where is the Launch Services Database? and How does it interact with the com.apple.LaunchServices.plist preferences file?
From looking at the Terminal command — and in your
"Launch Services Database Rebuild" AppleScript — I'm guessing the answers may have something to do with
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ — and perhaps with the processes
lsregister &/or lssave in the /Support/ folder...?
Are any user caches involved in storing "user-specified binding" data??
Thanks!
Since it's snowing here in SLC, I'll wish you both the warmest of holidays!
Dean
I edited this message... But not enough!