Su mayor pista sobre el propósito y la ubicación está en el "tipo grande", es decir, los nombres de las respectivas colmenas: HKLM y HKCU
Las asociaciones de archivos se establecen en ambas colmenas y tienen dos propósitos diferentes:
Como su nombre lo indica, las entradas del registro HKCU establecen asociaciones de archivos para el USUARIO ACTUAL y anulan la configuración del tipo de archivo correspondiente en HKLM.
HKLM establece asociaciones de archivos para la MÁQUINA LOCAL, es decir, para TODOS LOS USUARIOS de la máquina (a menos que sea anulada por las entradas HKCU). (Para Win98, HKCR era solo un alias abreviado para HKLM \ Software \ Classes. No eran colmenas separadas o diferentes. Sin embargo, esto cambió para Win XP y ya no es cierto. HKCR ahora es una colmena virtual que es el resultado de la fusión las teclas HKLM \ Software \ Classes \, HKCU \ Software \ Classes \ y HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts con prioridad sobre la información HKCU).
Este sistema de dos pasos facilita no solo esquemas de asociación de archivos uno a uno sino muchos a uno y uno a muchos. Por ejemplo, los tipos de archivo .htm, .html y .shtml podrían establecerse en ProgID = htmlfile, lo que a su vez podría definir un solo navegador. OTOH, las entradas pueden contener subclaves OpenWithList o OpenWithProgID con múltiples entradas para abrir un archivo de una lista de múltiples navegadores, editores u otras aplicaciones.
Tanto HKLM \ Software \ Classes \ como HKCU \ Software \ Classes funcionan de la misma manera (una solo tiene prioridad sobre la otra). En la forma más simple, hay una clave de registro para una extensión de archivo (por ejemplo, HKCR.txt) cuyo valor predeterminado es el ProgID correspondiente (por ejemplo, txtfile). Además de, o en lugar de, el valor predeterminado, puede haber nombres ProgID adicionales enumerados para la subclave "OpenWithProgID" (por ejemplo, txtfile y htmlfile), y / o nombres de aplicaciones adicionales que aparecen como subclaves en "OpenWithList" (por ejemplo, Notepad ++ .exe, Opera.exe, Firefox.exe).
Cada ProgID se define en otra clave dentro de HKCR (por ejemplo, HKCR \ txtfile). Esta tecla contiene subclaves para indicarle a Windows qué icono usar y cómo abrir, imprimir, imprimir, etc., el archivo asociado (por ejemplo, HKCR \ txtfile \ shell \ open \ command). Del mismo modo, cada nombre de aplicación se define como una subclave en HKCR \ Aplicaciones (por ejemplo, HKEY_CLASSES_ROOT \ Applications \ Firefox.exe \ shell \ open \ command).
Además de la clave HKCU \ Software \ Classes, las asociaciones de archivos de cuenta de usuario se encuentran en la clave HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts. Estas entradas no son solo para el Explorador de Windows, como se ha sugerido, sino que son una fuente adicional de anulaciones de asociación de archivos de cuentas de usuario. Las entradas son creadas por las herramientas de asociación de archivos en el explorador (Explorer \ Tools \ Opciones de carpeta \ Tipos de archivo) y contienen una subclave OpenWithList y / o OpenwithProgID para cada extensión de archivo enumerada.
Para determinar una asociación de archivos, Windows primero busca las entradas HKCU para una extensión de archivo correspondiente. Solo si no se encuentra uno, entran en juego las entradas HKLM. (Nota: no he probado cuál tiene prioridad: HKCU \ Software \ Classes o HKCU \ MIcrosoft \ Windows \ CurrentVersion \ Explorer \ FileExts, pero sospecho que sería la clave FileExts). Del mismo modo, si no se encuentra un ProgID o nombre de aplicación referenciado en HKCU, se buscan las entradas HKLM. (Tenga en cuenta que las entradas \ Aplicaciones \ son solo nombres arbitrarios, aunque normalmente son idénticas al nombre real del archivo exe del disco).
Entonces, para definir una asociación de archivos para una cuenta de usuario específica, cree entradas en la sección HKCU. Para definir una asociación para todos los usuarios, cree entradas en la sección HKLM (HKCR) y elimine todas las referencias en la sección HKCU a ese tipo de archivo. Obviamente, necesita los derechos de acceso adecuados a las claves de registro.
No uso las herramientas assoc y ftype, ya que prefiero usar RegEdit en modo interactivo o por lotes, pero por otros comentarios parece que solo funcionan en la sección HKLM y son inútiles para borrar / configurar las claves HKCU. Tómese un tiempo y explore las teclas mencionadas anteriormente con RegEdit para ver más ejemplos.