Time was when you set file associations in:
HEY_CLASSES_ROOT\<.ext>
However, that seems to be possible, but an incomplete solution anymore. There are additional associations throughout the registry. For example:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\KindMap
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Extensions
And all of the above, but by HKEY_USERS\
And Microsoft added their Set Default Associations control panel applet, which controls… what?
I’m looking for a white paper, or discussions on:
“How is a modern, Windows XP-Windows 7 compatible application written in C/C++ supposed to register and manipulate its file associations without interfering with Explorer, User-Settings, or the Default Associations cpl”
EDIT: I’m trying to further this investigation with more questions here:
How to delete ProgIDs from other user accounts when uninstalling from Windows?
Alas, this documentation still seems current, and it’s all about the registry: MSDN
Maybe someone’s created a nice wrapper for this? Time to hit Google…