Sua maior pista para o propósito e localização está no "tipo grande", ou seja, os nomes das respectivas colméias: HKLM e HKCU
As associações de arquivos são definidas nas duas seções e têm dois propósitos diferentes:
Como o nome indica, as entradas do Registro HKCU definem associações de arquivos para o USUÁRIO ATUAL e substituem as configurações de tipo de arquivo correspondentes no HKLM.
O HKLM define associações de arquivos para o LOCAL MACHINE, ou seja, para TODOS OS USUÁRIOS da máquina (a menos que sejam substituídos pelas entradas do HKCU). (No Win98, o HKCR era apenas um alias abreviado para HKLM \ Software \ Classes. Eles não eram seções separadas ou diferentes. No entanto, isso foi alterado para o Win XP e não é mais verdadeiro. O HKCR agora é uma seção virtual resultante da fusão as chaves HKLM \ Software \ Classes \, HKCU \ Software \ Classes \ e HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts com as informações do HKCU prevalecendo.)
Esse sistema de duas etapas facilita não apenas os esquemas de associação de arquivos um para um, mas muitos para um e um para muitos. Por exemplo, os tipos de arquivo .htm, .html e .shtml podem ser definidos como ProgID = htmlfile, que por sua vez pode definir um único navegador. OTOH, as entradas podem conter subchaves OpenWithList ou OpenWithProgID com várias entradas para abrir um arquivo de uma lista de vários navegadores, editores ou outros aplicativos.
HKLM \ Software \ Classes \ e HKCU \ Software \ Classes operam da mesma maneira (uma apenas tem precedência sobre a outra). Na forma mais simples, existe uma chave de registro para uma extensão de arquivo (por exemplo, HKCR.txt) cujo valor padrão é o ProgID correspondente (por exemplo, txtfile). Além do valor padrão, ou em vez do valor padrão, pode haver nomes adicionais de ProgID listados para a subchave "OpenWithProgID" (por exemplo, txtfile e htmlfile) e / ou nomes de aplicativos adicionais que aparecem como subchaves em "OpenWithList" (por exemplo, Notepad ++ .exe, Opera.exe, Firefox.exe).
Cada ProgID é definido em outra chave no HKCR (por exemplo, HKCR \ txtfile). Essa chave contém subchaves para informar ao Windows qual ícone usar e como abrir, imprimir, imprimir etc. o arquivo associado (por exemplo, HKCR \ txtfile \ shell \ open \ command). Da mesma forma, cada nome de aplicativo é definido como uma subchave em HKCR \ Applications (por exemplo, HKEY_CLASSES_ROOT \ Applications \ Firefox.exe \ shell \ open \ command).
Além da chave HKCU \ Software \ Classes, as associações de arquivos da conta do usuário são encontradas na chave HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts. Essas entradas não são apenas para o Windows Explorer, como foi sugerido, mas são uma fonte adicional de substituições de associação de arquivos de contas de usuários. As entradas são criadas pelas ferramentas de associação de arquivos no explorer (Explorer \ Tools \ Opções de Pasta \ Tipos de Arquivos) e contêm uma subchave OpenWithList e / ou OpenwithProgID para cada extensão de arquivo listada.
Para determinar uma associação de arquivos, o Windows procura primeiro nas entradas HKCU uma extensão de arquivo correspondente. Somente se um não for encontrado, as entradas HKLM entrarão em jogo. (Observação: não testei o que tem precedência - o HKCU \ Software \ Classes ou HKCU \ MIcrosoft \ Windows \ CurrentVersion \ Explorer \ FileExts, mas suspeito que seria a chave FileExts). Da mesma forma, se um ProgID ou nome de aplicativo referenciado não for encontrado no HKCU, as entradas HKLM serão pesquisadas. (Observe que as entradas \ Applications \ são apenas um nome arbitrário - mesmo que normalmente sejam idênticas ao nome real do arquivo exe no disco).
Portanto, para definir uma associação de arquivo para uma conta de usuário específica, crie entradas na seção HKCU. Para definir uma associação para todos os usuários, crie entradas na seção HKLM (HKCR) e exclua todas as referências na seção HKCU para esse tipo de arquivo. Obviamente, você precisa dos direitos de acesso apropriados às chaves do registro.
Não uso as ferramentas assoc e ftype, pois prefiro usar o RegEdit no modo interativo ou em lote, mas a partir de outros comentários, parece que eles operam apenas na seção HKLM e são inúteis para limpar / configurar as chaves HKCU. Reserve um tempo e navegue pelas teclas acima mencionadas com o RegEdit para ver mais exemplos.