File associations in Winxp

  • Thread starter Thread starter Michael Gorbach
  • Start date Start date
M

Michael Gorbach

I thought that the HKEY_CLASSES_ROOT part of the registry was the only
place that file associations were stored in in windows xp. The I found
some crazy stuff going on in my system ... namely that files werent
acting like they should be according to their entry in HKCR. After some
searching I found many entries in
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\. I
also found more entries in HKCR\SystemFileAssociations\.
All of these seem to have many of the same filetypes listed. Could
someone who knows Please explain to me how these three keys interact,
which has prriority, and why there is no centrally managed place to
store association data?
 
This article may help you.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257592

--
Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
|I thought that the HKEY_CLASSES_ROOT part of the registry was the only
| place that file associations were stored in in windows xp. The I found
| some crazy stuff going on in my system ... namely that files werent
| acting like they should be according to their entry in HKCR. After some
| searching I found many entries in
| HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\. I
| also found more entries in HKCR\SystemFileAssociations\.
| All of these seem to have many of the same filetypes listed. Could
| someone who knows Please explain to me how these three keys interact,
| which has prriority, and why there is no centrally managed place to
| store association data?
|
 
Interesting article ... but it doesn't explain
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.
or
HKCR\SystemFileAssociations\
 
Michael,

SystemFileAssociations is explained in the MSDN documentation.

SystemFileAssociations
The SystemFileAssociations keys exist to guarantee that Shell extensions are
installed regardless of the current default PROGID or user customization.
These keys enable Windows XP to define fallback attributes for file types
and enable shared file associations. Supplemental verbs should be added
under SystemFileAssociations .

Source: PerceivedTypes, SystemFileAssociations, and Application
Registration:
http://msdn.microsoft.com/library/d...nding/fileassociations/fa_perceived_types.asp
© 2005 Microsoft Corporation. All rights reserved

Whereas the Fileexts is used when you permanently associate a filetype using
the Open-with dialog. The values (Fileexts\.nnn\Application) and
(Fileexts\.nnn\ProgID) takes precedence over the central file associations.

There is yet another layer of possible file associations via
HKEY_CURRENT_USER\SOFTWARE\Classes\. This is the per-user override, that
you've read in Q257592 article posted by Dave.

To best explain this, HKEY_CLASSES_ROOT is nothing but a merger of
HKEY_CURRENT_USER\SOFTWARE\Classes and HKEY_LOCAL_MACHINE\SOFTWARE\Classes\
(It was David Candy who explained this part in simple terms so everyone can
understand.)

Hope this helps.
 
Ramesh yes that does help quite a bit ... i havent been able to find a
word on what the filexts key does.
So ... are you saying that the only way filexts is used is through the
open with dialog?
I seem to have a program (xnview) whose associations seem to be winding
up in filexts.
 
[[Another interesting feature in Windows 2000 is the Open With popup menu
that allows you to choose which program should handle a certain document
type. Once again, you can programmatically control those lists through the
registry. The subtree is:

HKEY_CURRENT_USER
\Software
\Microsoft
\Windows
\CurrentVersion
\Explorer
\FileExts

To define a new OpenWith list for a file type, you first must make sure that
the file type is properly registered. Suppose you want to change the
OpenWith list for .xyz files. Create a .xyz\OpenWithList subtree under the
FileExts node. Any entry in the menu must be qualified by a progressive
letter: a, b, c, and so forth. The order in which the items appear in the
menu is set through an additional MRUList entry. ]]
Windows 2000 Registry: Latest Features and APIs Provide the Power to
Customize and Extend Your Apps
http://msdn.microsoft.com/msdnmag/issues/1100/Registry/default.aspx

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
Another purpose is that the OpenWithList and OpenwithProgID lists are
populated from there, as a per-user basis.
 
Back
Top