How to Associate a File Type or Protocol to a Program

When you install programs on your computer, you may want to associate different file types to be opened with specific programs. For example, you may want '.mp3' files to be opened with Winamp or iTunes and your '.avi' files with Windows Media Player. In a previous tutorial I have shown how to set your default programs in Windows 7. However, the list of default programs doesn't include all installed applications and doesn't help set the defaults for all extensions and protocols. This article will continue the series of articles and show how to set a program to always open a specific file type or protocol, independent of the fact that it is shown in the list of Default Programs or not.

NOTE: If you want to find out more about file types and extensions, I recommend file-extensions.org. Regarding protocols and what they are, check out Wikipedia's page on Internet Protocol Suite.

Opening the Set Associations Panel

You can associate a file type or protocol to a program by using the Set Associations control panel and there are several ways of finding it. The first is to open Control Panel, choose Programs and click on 'Make a file type always open in a specific program' in the Default Programs group of links.

Default Programs

Another way is to type 'association' in the Start Menu search bar and click the 'Make a file type always open in a specific program' search result.

Default Programs

Associate File Types & Protocols to Programs Using the Set Associations Panel

In the Set Associations panel, you will see a list of file types registered on your computer and, for each, a short description and the current default program. If the default program is set as Unknown application it means that your computer doesn't know how to open that specific file type and you need to install an application which can work with it.

Default Programs

Select an extension by clicking it to see more information on the program that currently opens it by default.

Default Programs

To change the default program for an extension, select it and click on 'Change program'.

Default Programs

You can select one of the recommended programs or you can search for other programs by clicking the Browse button. Press OK when you have finished.

Default Programs

Associate File Types to Programs Using the Open With Menu

The second way of associating a file type to a program is by using the 'Open With' menu. Right click on the file you want to open, go to 'Open with' and click on 'Choose default program'.

Default Programs

In the Open With window, choose one of the recommended programs or browse for another program but, don't forget to select 'Always use the selected program to open this kind of file'. Press OK to open the file with the program that is now set as default for the specific file type.

Default Programs

If you don't select 'Always use the selected program to open this kind of file' the file will be opened with the chosen program but only this time. The selected program will not be set as default for that specific file type.

Conclusion

By using this method you get to set the default programs as you like and get rid of the limitations imposed by the Default Programs panel, which shows only a few of the installed applications. If you have any questions or problems about setting your default programs, don't hesitate to leave a comment.

Related articles:

How to Set Program Access and Computer Defaults
How to Set Your Default Programs in Windows 7
How to Customize the AutoPlay Settings
Customize File Types, AutoPlay & Default Programs Settings with Default Programs Editor

Comments

Dear Sir,

I am familiar with the procedures outlined in your tutorial, but no matter what I try I cannot set Windows Mail as the default program to open files with the extension .eml

Is there any way to do this?

My OS is Win 7 32 bit, and I used the workaround detailed in various forums to enable use of Windows Mail. Windows Mail as such is working fine, but from time to time I have needed to look at emails in the backup I created of my Local Folders, and it is a nuisance having them open with Notepad and getting all the technical details, as opposed to reading them like a normal email.

Your help would be appreciated.

Thanks and regards,
Roy Whitethread

Try the program recommended here: http://www.7tutorials.com/customize-file-types-autoplay-default-programs...
It might work better.

I tried the program you recommended, but it said Windows Mail could not be set as the default program for the .eml file extension "because of some registry issues, possibly caused by earlier system tweaks". I assume the earlier tweaks would be the workaround I used to enable Windows Mail to be used with Win 7.

If you have any other suggestions I would be grateful to receive them.

Thanks and regards,
Roy Whitethreaf

When you say Windows Mail, you are referring to the Windows Mail from Windows Vista? Imported somehow in Windows 7?

Yes I am. I replaced the Windows Mail program files in Win 7 with those from Vista, put a shortcut for Winmail.exe on the desktop and Windows Mail opens from that. I also added a registry entry called mailclients.reg to the registry (I can't remember which forum I got that from) and that enabled me to make Windows Mail my default email program. Following a recent Microsoft update which patched msoe.dll I had to replace msoe.dll with a patched version from Vista to keep Windows Mail working.

Please advise further.

Thanks and regards,
Roy Whitethread

hi,
I have tried this, but if i restart the computer everything goes back to previous settings and i have to change file association again.
Why is that, is there any solution?

Lordy, I've been using a mac for years and we just got a laptop with Windows 7. Why is Windows so complicated & convoluded!?! Thanks for posting this article, it really helped.

Hello

i accidentally changed my file extension to cmd and i cannot change it back...now everytime i open that type of files..it will open to cmd, how can we fix this?

please help.. im using windows 7 64 bit

That all works fine for FILE TYPES, but not for protocols. You can only set default program associations for the protocols that are already listed.

it's there a way to do this in cmd or powershell?

I looked all over but no luck.

Add new comment