我有一个使用 Inno Setup 安装程序部署的应用程序。当我执行升级安装时(即在已安装 1.0 版时运行 install-1.5.exe),如果我的应用程序二进制文件正在使用中(我的应用程序正在运行,或者其他进程可能已锁定图像文件),我重新启动后在资源管理器中遇到图标缓存损坏。资源管理器在桌面和开始菜单上显示我的应用程序的空白/默认快捷方式图标。
我们在互联网上搜索并发现了各种用于刷新 Explorer 图标缓存的“厨房水槽”方法,但似乎没有一种方法在所有操作系统上都是完全可靠的。因此,我们宁愿首先找出导致这种腐败的原因并治愈疾病而不是治疗症状。
这会在 Windows Vista 和 Windows 7 中发生,但不会在 Windows XP 中发生。
特别是,只要资源管理器刷新文件关联,损坏就会“生效”。这可能是即时的(如果 ChangesAssociations=yes 在 Inno 脚本中设置),或者稍后。
有没有人遇到过这个?我们不明白为什么会出现此图标缓存损坏。