Under The Microscope

Software Update Updating Software It Shouldn’t Be Updating

In short, this is why you should always use bundle IDs instead of names to search for an application in code.

What’s happening in this screenshot is that Software Update is telling me it has a new version of Backup (Apple’s Backup software for use with .Mac), because it’s found an application called Backup in my Applications folder.

If you like, you can recreate this for yourself.

0) If you have Backup installed, move it out of the Applications folder. Make an archive of it in the Finder for safe-keeping, then delete the application itself.

1) Open Automator and create a new action1.

2) Select Save As… from the File menu.

3) Call it Backup, set the File Format to “Application”, and save it to your Applications folder.

4) Run Software Update and enjoy.

If you allow Software Update to install the new versions of Backup, it will overwrite your custom Backup application. The end result? Data loss.

My friend Chris D. found this bug recently while creating a Backup action with Automator. Being new to the Mac, he was unfamiliar with Apple’s Backup application (it’s not installed by default in OS X 10.4) and so he simply called his backup action “Backup”. He then saved it to the Applications folder so iCal could run it.

A few days later, Software Update ran and offered to update his battery firmware and Backup. Trusting Software Update (as I’m sure Apple desires), he went ahead with this update. It wasn’t until his backup failed to occur that he took some time and figured out what had happened.

Fortunately, he smartly kept a backup of his own custom Backup application, which he’ll need to rename now.

Apple engineers in the crowd can find this in Radar, bug #5174089.

1. This can be as simple as you like, it really doesn’t matter. Just drag a single item from the Action list, such as Find Address Book Items (the first item in the list), to the well on the right.

Leave a Reply

You must be logged in to post a comment.

Our Software