这让我有点困惑。我最近在工作中安装了一台新电脑,并像往常一样安装了 TortoiseHg 和 Paint.NET。然而,出于某种原因,所有 TortoiseHg 的快捷方式都被 Paint.NET 的应用程序图标替换了:
重新安装任一应用程序都无济于事,卸载 Paint.NET 才有帮助。
通过删除来清除图标缓存%LocalAppData%\IconCache.db
也无济于事。
现在,TortoiseHg 的所有默认快捷方式都是应用程序本身的快捷方式,而不是特定的文件路径(这意味着我甚至无法更改快捷方式的图标):
我现在唯一的猜测是 Windows Installer 可能对其应用程序数据库有点困惑,但我真的不知道如何验证或修复这个问题。
快捷方式(以及注册表中的应用程序图标)显然引用了%SystemRoot%\Installer\{50AF3472-30AD-42C5-84FF-8A1ACE7CEFBF}\thgIcon.ico
正确的图标。{50AF3472-30AD-42C5-84FF-8A1ACE7CEFBF}
也是注册表中 TortoiseHg 的产品 GUID。因此看起来这据我所知,产品设置正确。
答案1
答案2
Windows 资源管理器中的图标由已注册的“图标渲染应用程序”对象渲染(显示)。如果“图标渲染应用程序”无法理解图标,则它会显示自己的图标。
当 Paint.NET 无法理解 TortoiseHg 图标时,您会看到 Paint.NET 图标。
此类错误可能是由 TortoiseHg 的问题引起的,可通过重新安装 TortoiseHg 来解决并清除图标缓存或者可能是由 Paint.NET 的问题引起的,可以通过使用文件关联对话框告诉 Windows 使用不同的应用程序来显示图标(.ico 文件)来解决。