A sua maior pista sobre propósito e localização é no "tipo grande", ou seja, os nomes das respectivas colmeias: HKLM e HKCU
As associações de arquivos são definidas em ambas as seções e têm dois propósitos diferentes:
Como o nome indica, as entradas de registro do HKCU definem associações de arquivos para o CURRENT USER e substituem as configurações de tipo de arquivo correspondentes no HKLM.
O HKLM define associações de arquivos para a MÁQUINA LOCAL, ou seja, para TODOS OS USUÁRIOS da máquina (a menos que sejam substituídas pelas entradas HKCU). (Para Win98, o HKCR era apenas um atalho abreviado para HKLM \ Software \ Classes. Eles não eram separados ou diferentes. No entanto, isso mudou para o Win XP e não é mais verdadeiro. HKCR é agora uma seção virtual que é o resultado da mesclagem as chaves HKLM \ Software \ Classes \, HKCU \ Software \ Classes \ e HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts com as informações de HKCU tendo precedência.)
Este sistema de duas etapas facilita não apenas esquemas de associação de arquivos um-para-um, mas muitos-para-um e um-para-muitos. Por exemplo, todos os tipos de arquivos .htm, .html e .shtml podem ser definidos como ProgID = htmlfile, o que 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.
Ambos HKLM \ Software \ Classes \ e HKCU \ Software \ Classes operam da mesma maneira (um só tem precedência sobre o outro).
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 de, ou em vez de, o valor padrão, pode haver nomes ProgID adicionais 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 dentro do HKCR (por exemplo, HKCR \ txtfile). Essa chave contém subchaves para informar às janelas 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 de 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 conta de usuário. As entradas são criadas pelas ferramentas de associação de arquivos no Explorer (Explorer \ Ferramentas \ Opções de Pasta \ Tipos de Arquivo) e contêm uma subchave OpenWithList e / ou uma OpenwithProgID para cada extensão de arquivo listada.
Para determinar uma associação de arquivos, o Windows analisa primeiro as entradas do HKCU para uma extensão de arquivo correspondente. Somente se um não for encontrado, as entradas do HKLM entrarão em jogo. (Nota: Eu não testei o que tem precedência - o HKCU \ Software \ Classes ou o HKCU \ MIcrosoft \ Windows \ CurrentVersion \ Explorer \ FileExts, mas suspeito que seria a chave FileExts). Da mesma forma, se um nome de aplicativo ou ProgID referenciado não for encontrado em HKCU, as entradas de HKLM serão pesquisadas. (Observe que \ Applications \ entries são apenas nomes arbitrários - mesmo que sejam tipicamente idênticos 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.
Eu não uso as ferramentas assoc e ftype, pois prefiro usar o RegEdit no modo interativo ou em lote, mas de outros comentários parece que eles só operam na seção HKLM e são inúteis para limpar / definir chaves HKCU. Reserve algum tempo e navegue pelas chaves acima mencionadas com RegEdit para ver mais exemplos.