Add a new file association in Windows 7

Peter picture Peter · Feb 1, 2012 · Viewed 81.5k times · Source

With Windows XP I could use the Control Panel to add a new file extension, associate it with a program, and assign an icon to it. I did that using Folder Options in the Control Panel. Folder Options has a tab in it called "File Types".

But Windows 7 Folder Options does not have that tab. And the suggested place for file associations (Default Programs) does not let me add a new extension.

How do I do what I want to (i.e. associate a new extension with an existing program and also apply a new icon to it)?

Answer

Mario picture Mario · Feb 1, 2012

Unfortunately it's one of those things they made more complicated in an attempt to make it more simple (e.g. you're able to change the associated program, but that's it).

You can either use third party programs or just edit the registry yourself (do not modify the registry unless you're really sure on what you're doing! Mistakes might break settings or even make your system unbootable!):

  1. Right click HKEY_CLASSES_ROOT and pick New, Key. Name it according to your desired file extension, e.g. .ext. If it exists already, you can skip this step.
  2. Set the default value of the key you just created to some unique name that isn't used yet, e.g. MyFileType. Again, if it's set already, skip this step.
  3. Create another new key using the same name you picked in the previous step. Skip this too, if the key exists already.
  4. Set the default value of the new key to the name that should appear in Windows Explorer and other programs as the file type.
  5. Right click the new key and create a subkey DefaultIcon.
  6. Set the new key's default value to C:\Some\Path\To\Your\Icon\Ressource.ico,0 (the 0 is the index of the icon to be used; if there's only one icon in the ressource, it has to be 0).
  7. Create another new key next to DefaultIcon and call it shell.
  8. Now, for each verb/action you'd like to associate, create a new sub key with the desired name. Some verbs are preset and will automatically use localized names, e.g. open, edit or print.
  9. For each verb create a sub key command and set its default value to the program to be run. Also make sure to include all parameters needed, adding quotes if there are spaces inside, e.g. "C:\My Path\My Program.exe" "%1". %1 will be replaced with the actual file name picked for this action.