By John Gruber
Enterprise-class Mac hosting infrastructure on genuine Apple hardware. Learn more.
If you look at the receipt for the installation of the OS X 10.2.4 update, you will find a file within the installer package named TokenDefinitions.plist. If an application is not found in the default location, the installer looks for the application by bundle identifier. This means that the app can be moved or renamed and the Installer will still find it.
I thought this was pretty cool, too. The first time I saw it, over 10 years ago.
Mac users have been accustomed to installers and updaters that can find older versions of applications anywhere, on any local volume, since the early 90’s. That this ability to locate applications using a method other than hard-coded paths is new to the built-in Mac OS X installer isn’t cause for celebration; it’s just one less idiotic deficiency to complain about. There’s no reason whatsoever it shouldn’t have been like this ever since 10.0.
This is also indicative of Apple’s progress towards using the application identifier to manage all application references. This is considerably more flexible than using paths (or filesystem references). It will be interesting to see how Apple resolves the issue of multiple apps with the same identifier.
If it’s anything like what Mac users have been used to for the past 10 years, the solution is simple: display a dialog listing each matching application, and ask the user which copy they want to update.