7

Back in the day, one merely need look at HKCR\.ext which would point to HKCR\type-handler.

HKCR is now a dynamic link to both HKCU\software\classes and HKLM\software\classes, in a cascade pattern (local user first, then local machine).

However, now we also have this ..\explorer\FileExts registry tree, presumably at both user and machine levels as well. What does this additional complexity provide?

I don't know about you, but I am forever fighting Windows to correctly open my files, with Explorer hanging quite often, or failing to open a given file from explorer. And it seems quite arbitrary, where an install of say TextPad on one machine will appear to be 100% functional, whereas on another will result in only limited functionality with either Explorer or TextPad crashing when a file is attempted to be opened (say via the right click menu, or send-to, or drag & drop, or double click).

I've asked a few times and done myriad searches, and I have yet to find a comprehensive "this is what all keys related to file types are and do, and how Microsoft intends that they be used for coherent cooperation and proper function of a users system."

Does anyone know where I might find a comprehensive 'best-practices' guide or exhaustive documentation for file-type-associations under windows?

5
+100

I think the "best practice" is to use the bundled "Default Programs" setting with Windows, or a third-party tool like FileTypesMan or ASHociation. FileTypesMan also includes a command-line interface, appropriate for using it on client computers remotely (if need be).


Explorer or TextPad crashing when a file is attempted to be opened (say via the right click menu, or send-to, or drag & drop, or double click).

The application shouldn't crash if the association wasn't set up correctly, as the application wouldn't automatically open to begin with. It seems like there's another underlying issue with your operating system configuration, or the TextPad application itself.


"this is what all keys related to file types are and do, and how Microsoft intends that they be used for coherent cooperation and proper function of a users system."

It's unlikely you'll find any resources detailing a very low-level registry setting for a complex closed-source operating system, unless Microsoft has publicly released the information (or a third party has reverse-engineered its purpose). It's rare that Microsoft ever recommends the end user modify registry data outside of software development, precisely for this reason. If there is any information, you're likely to find it in the Microsoft Support Knowledge Base.

  • Hmmm... maybe I need to ask this (again) over on SO. It's one of those cross-over questions which have valid aspects in programming domain and in sys-admin domain. I am a programmer, but this affects me both as a programmer and as a sys-admin - with helping clients figure out what went wrong, or even just in my personal use of my PCs. Seems to me that - at an anecdotal level - this has gone to hell in a handbag since Vista, and I yearn for a white paper describing everything there is to know (both as admin and developer) – Mordachai Mar 7 '13 at 20:11
  • @Mordachai if you want to look at it from a sys-admin perspective, look into some of the tools I mentioned above. It may be a lot easier to run a batch clean-up to fix some file associations on client computers, and I know FileTypesMan does indeed have a command-line interface. – Breakthrough Mar 7 '13 at 20:14
  • The release notes on FileTypesMan looks promising, as does the tool itself. I'd upvote your comment and answers - but apparently I have too little rep in SU. :P – Mordachai Mar 7 '13 at 21:30
  • This doesn't answer the question. Deleting UserChoice from file exts worked in my case, but it would be good to have a comprehensive answer. (partial answer here:stackoverflow.com/a/3623259/1254222) – 79E09796 Nov 24 '16 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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