Copying application from disk image

I have an application that has a CFBundleURLTypes set in its info.plist. When a user copies the application from the disk image to their home directory for instance that URL type is not registered with the OS until after the application is launched once.

By using the lsregister command (/System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/Support/lsregister) and dumping the database to see if launch services is registering the url type for the app that was copied, I see that it is but one of the flags in the dump says that the app is “launch-disabled”. That flag appears to be set for any application on a disk image as well. When you copy the app to your home directory from the disk image is still says “launch-disabled” until you run the application once.

Is this a bug in tiger, disk image, or what?

You’d have to check with Apple to be sure, but I think Tiger is working as designed. Applications aren’t fully trusted by Launch Services until after they’ve been launched.