Isso está me confundindo um pouco. Recentemente configurei um novo PC no trabalho e instalei o TortoiseHg e o Paint.NET, como de costume. No entanto, por algum motivo, todos os atalhos do TortoiseHg são substituídos pelo ícone do aplicativo Paint.NET:
Reinstalar qualquer um dos aplicativos não ajuda, mas desinstalar o Paint.NET ajuda.
Limpar o cache do ícone removendo %LocalAppData%\IconCache.db
também não ajuda.
Agora, todos os atalhos padrão para o TortoiseHg sãoatalhos para o próprio aplicativo, não um caminho de arquivo específico(o que significa que não consigo nem alterar o ícone do atalho):
Meu único palpite agora é que talvez o Windows Installer esteja um pouco confuso sobre o banco de dados do aplicativo, mas não tenho ideia de como verificar ou corrigir isso.
O atalho (e o ícone do aplicativo no registro) aparentemente faz referência ao ícone %SystemRoot%\Installer\{50AF3472-30AD-42C5-84FF-8A1ACE7CEFBF}\thgIcon.ico
correto. {50AF3472-30AD-42C5-84FF-8A1ACE7CEFBF}
também é o GUID do produto para TortoiseHg no registro. Então parece queesseo produto está configurado corretamente, pelo que posso dizer.
Responder1
A solução alternativa publicadaaquifuncionou para este caso também. Originalmente encontrei esse link notópico de problemapara TortoiseHg e parece ser um problema com os atalhos do Windows Installer e o aplicativo padrão para arquivos de ícones.
Responder2
Os ícones no Windows Explorer são renderizados (exibidos) pelo objeto registrado "Icon Rendering Application". Se o "Aplicativo de renderização de ícone" não conseguir entender o ícone, ele exibirá seu próprio ícone.
Quando o Paint.NET não consegue entender os ícones do TortoiseHg, você vê o ícone do Paint.NET.
Erros deste tipo podem ser causados por um problema com o TortoiseHg, corrigido pela reinstalação do TortoiseHge limpando o cache de ícones, ou pode ser causado por um problema com o Paint.NET, corrigido usando a caixa de diálogo de associação de arquivos para instruir o Windows a usar um aplicativo diferente para exibir ícones (arquivos .ico).