23

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.

1
  • 3
    Yes, file associations and extensions is one area where Vista/Win7 took a HUGE step back from XP and prior.
    – eidylon
    Aug 15, 2009 at 0:29

5 Answers 5

24

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!)

5
  • 1
    +1: Very nice-looking program. I'll give it a shot. :) Aug 14, 2009 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, 2009 at 0:41
  • Feel free to leave any program feedback at the UserVoice page: defaultprogramseditor.uservoice.com Aug 15, 2009 at 0:43
  • 1
    Exactly what I was looking for! Aug 15, 2009 at 1:30
  • 2
    Very nice. Going to check it out. Aug 15, 2009 at 3:07
6

FileTypesMan from NirSoft fulfills all your requirements.

enter image description here

0

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"
2
  • 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. Aug 14, 2009 at 19:56
  • 1
    Same for the actions. You cannot add a custom action to an extension. Aug 14, 2009 at 19:57
0

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.

2
  • 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, 2009 at 21:59
  • 1
    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, 2011 at 1:47
0

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).

1
  • 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. Aug 14, 2009 at 19:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .