Tenho certeza de que o que acontece é que, quando você instala o Office em um computador com Windows 7, ele altera o caminho do ícone XML de um caminho estático (consulte: HKEY_CLASSES_ROOT\xmlfile\DefaultIcon
no registro) para uma variável "% 1".
Em combinação com o fato de que a entrada xmlfile
também possui uma chave ShellEx\IconHandler
significa que o ícone é dinamicamente controlado por uma DLL (ou algum outro manipulador). Se você procurar o GUID nos dados do valor padrão do IconHandler, poderá descobrir qual programa está sendo usado para lidar com esse ícone.
A mina é {AB968F1E-E20B-403A-9EB8-72EB0EB6797E}, então eu procurei o registro até encontrar HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}\InprocServer32
Qual lista "C: \ Arquivos de Programas (x86) \ Arquivos Comuns \ Microsoft Shared \ OFFICE12 \ MSOXEV.DLL" como o programa manipulá-lo. Portanto, quando um XML é consultado, o MSOXEV.DLL é verificado, o que interroga o arquivo profundamente e determina qual ícone exibir.
Há também um excelente explicação em uma resposta a uma pergunta semelhante sobre no StackOverflow se você quiser ir verificar isso também.