How to fix the “Open With” menu in OS X

I just encountered this annoying problem with the “Open With” option in Finder. When I right clicked on a file in Finder. The menu listed programs located on an old drive and not my brand new solid state drive (SSD) boot drive.

I had installed the SSD as a boot drive and created a RAID array with three 1GB hard drives for my increasing numbers of digital photographs. I installed a new version of Snow Leopard and the Programs on the new boot drive. Finally I moved my User folder to the RAID setup. You can read how to move your User folder here: How to move the User Folder.

After this little trick the “Open With” menu listed the programs on the old boot drive and not the SSD drive. Also some of the programs were listed as duplicates.

How to fix the “Open With” menu in OS X

If you have this problem, you should first check to be sure you do not have duplicate applications on your system. This happens sometimes when updates or reinstalled applications may not replace old files but instead leave a new copy on the system. If this is the problem then just remove the old copy if you don’t need it anymore.

The next step after ensuring you only have one copy of a given application is to reset the launch services. This is the service that pairs up file types and URLs with the correct applications. This can be done two ways: manually or with a third-party utility like OnyX from Titanium Software.

To reset the services manually, open the Terminal and run the following command (the utility to do this is buried deep in the Launch Services framework, hence the commands below are long):

For Leopard and Snow Leopard:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister /Volumes/Macintosh\ BOOT/Applications -kill -seed [-all uls]

For Tiger and previous:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

OS X Terminal reseting launch database

You might also try removing the launch services preference files, which are the “com.apple.LaunchServices.plist” and “com.apple.LaunchServices.QuarantineEvents” in your /username/Library/Preferences/ folder. Do this and then run the commands to clear and rebuild the launch services.

Have fun :)

Martin Bay | Martin Bay .NET

Leave a Comment

Previous post:

Next post: