Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

We all know that Vista and Windows 7 doesn't let you specify custom extensions or customize them to your liking. What program do you use to edit file associations in Vista and Windows 7?

EDIT:


Just to be more clear, I'm looking for a program which lets you:

  • Create new extensions (I am aware of the Open With > Set As Default).
  • Customize the Icon
  • Customize the file type name
  • Allows the creation of custom actions
  • Repair any non-working extensions

Presently, the Windows Vista/7 extension manager doesn't let you do any of those actions.

share|improve this question
1  
Yes, file associations and extensions is one area where Vista/Win7 took a HUGE step back from XP and prior. –  eidylon Aug 15 '09 at 0:29
add comment

5 Answers

up vote 20 down vote accepted

Default Programs Editor was created for this purpose! From the site:

File Type Settings:

  • Add, Edit, and Delete context menu items
  • Edit file type information (such as icon and description)
  • Change an extension's associated file type

It also does Autoplay handler editing, and Default Programs editing. And it installs as a Control Panel applet, which makes it discoverable from Windows Search, so you can forget about it until you need it.

Also, it doesn't require administrative privileges for most operations (but it is UAC compatible).

Default Programs Editor Screenshot

(In the interest of full disclosure, I wrote this program!)

share|improve this answer
1  
+1: Very nice-looking program. I'll give it a shot. :) –  Sasha Chedygov Aug 14 '09 at 23:04
2  
looks nice, though i notice some of the controls don't pick up the OS look. particularly some textboxes. Only thing seems missing is ability to easily add extensions. Otherwise, nice app. :) –  eidylon Aug 15 '09 at 0:41
    
Feel free to leave any program feedback at the UserVoice page: defaultprogramseditor.uservoice.com –  Factor Mystic Aug 15 '09 at 0:43
1  
Exactly what I was looking for! –  Andrew Moore Aug 15 '09 at 1:30
2  
Very nice. Going to check it out. –  The How-To Geek Aug 15 '09 at 3:07
add comment

FileTypesMan from NirSoft fulfills all your requirements.

enter image description here

share|improve this answer
add comment

Windows 7 does let you customize the extensions.

  1. Click the start button
  2. Search for the "Change the file type associated with a file extension"
  3. Customize the existing extension using the dialog presented.

Although this dialog doesn't let you add new ones, you can easily create a new one by:

  1. Create a new file on the desktop with the desired extension
  2. Double-click the file
  3. Select a program from a list
  4. Choose the program you want associate it with and make sure to check "Always use the selected program to open this kind of file"
share|improve this answer
1  
Then you can't customize the icons. That's the problem with the new editor, it simply isn't as powerful as the XP version. –  Andrew Moore Aug 14 '09 at 19:56
1  
Same for the actions. You cannot add a custom action to an extension. –  Andrew Moore Aug 14 '09 at 19:57
add comment

All file extension association information is stored in the registry. And if you do a little browsing, it's not terribly difficult to figure out how things work. For machine-wide associations, it all happens in the root of HKEY_CLASSES_ROOT. Manual editing of this stuff gives you ultimate power over your file extensions (albeit tedious). Just create a backup in case you screw things up and want to revert.

Each file association has a subkey called .xyz where xyz is the extension of your file. The (Default) value for that key is set to some arbitrary string. Most applications that register file extensions set it to something human readable. For example, .pdf on my system is set to FoxitReader.Document. There many be other values in this key, but nothing is mandatory except the (Default) value.

For whatever that (Default) value is set to, there will be a corresponding subkey with the same name also in the root of HKEY_CLASSES_ROOT. The (Default) value of this key is essentially the "friendly name" of the file type. This key may also have many subkeys, but the only ones we're interested in are DefaultIcon and Shell.

DefaultIcon as you probably guessed controls the icon for that file type. The (Default) value for this key should be set to the path of the icon file. Or if the icon is in a .exe file, set it to the path of the .exe and include a comma and the icon index at the end of the path. For instance, the FoxitReader.Document DefaultIcon is set to

C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE,1

Shell is where you set up all of the "actions" for this file type. For each action you want to define, create a subkey called whatever you want to name the action. Most types have at least one action called open. Within this new action's subkey, create a subkey called Command. The (Default) value of this Command key is basically the command line that runs when this action is clicked/run. For example, the open command on a FoxitReader.Document is

"C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE" "%1"

The "%1" argument gets set to the path of the file you ran the action from.

If you've only got one action defined for a given file type, I believe it will be the default action that is run if the file is double clicked. If there are multiple possible actions, you can set which one will be the default by modifying the (Default) value of the Shell key. Just set it to the name of the action you want to be the default.

With all of this said, it's not very efficient to do it all from scratch. It's probably easier to use the built-in tools to get most of the way there and then just tweak the things manually that the tools don't let you do. I should also probably mention that all of this info is based on XP, but I'm almost positive none of it has changed for Vista or Win7.

share|improve this answer
3  
Indeed you can use the registry, but that is a cumbersome complicated way to achieve this. Since there are better tools (as I mentioned in my answer to this post) why go through all this ordeal messing with the registry?! –  Eran Aug 14 '09 at 21:59
    
nice answer, if something could be automated i always prefer that way. Registry modifications is a great way to deploy solutions to more than one pc. –  mjsr Mar 16 '11 at 1:47
add comment

Vista allows you to change existing associations, and I'd imagine it's similar if not the same in Win7. Control Panel > Default Programs > File Associations.

Edit: Here's an article with some more advance tools that might suit you.

I would choose the first tool featured (Creative Element). It's a freeware and a lightweight program, it does all you want in a simple way (and more, since file associations management is just one of the tools in that pack).

share|improve this answer
    
Existing, it doesn't allow you to create new ones (you can by doing Open With > Set As Default) and it doesn't allow you to customize the icons or the actions. –  Andrew Moore Aug 14 '09 at 19:56
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.