How can I modify the list of Applications under 'Open With...'?
Solution 1:
Applications don't have to live in /Applications
. If you have a clone of your system mounted, that can account for some duplicates, but certainly not what you are observing. The list of programs for Open with… is maintained in the Launch Services database. If the list contains many duplicates as yours does, the database looks like it needs rebuilding.
Macworld Hints offers a suggestion as to how you can fix this:
The lsregister
command, found at System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister
, can tell the database to reset. Macworld recommends running the command thusly: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Note that utilities like Onyx or Cocktail can also reset this database for you. Do note that Finder won't re-read the new database so you will either have to log out and in again or issue a killall Finder
if you don't mind just killing it for any users on your Mac to avoid a log out and in.
Solution 2:
Once you have checked in spotlight to be sure you don't actually have a backup drive or another volume with duplicate copies of the apps (in which case Finder is showing you all the apps that it knows about that can open the file), try running a command to rebuild the launch services database:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Then log out, and log back in again. This should rebuild the Launch Services database for OS X, removing all duplicate entries.
Solution 3:
CleanOpenWith is an application I created to clean the Open With… menu.
CleanOpenWith is open source and free. The application automates these steps:
- Open Terminal: Applications / Utilities / Terminal.app
-
Type in the following command :
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
Wait for that command to complete
- If no error then proceed to the last step, restarting Finder
- Restarting Finder does not require you to reboot your Mac. Simply press Control + Option while clicking on the Finder icon in the Dock, select Relaunch and you are set!