windows - 升级安装后 Vista/Win7 资源管理器快捷方式中的应用程序图标损坏

标签 windows windows-7 windows-vista inno-setup explorer

<分区>

Possible Duplicate:
Wrong desktop shortcut icon on Windows 7 (Inno Setup)

我有一个使用 Inno Setup 安装程序部署的应用程序。当我执行升级安装时(即在已安装 1.0 版时运行 install-1.5.exe),如果我的应用程序二进制文件正在使用中(我的应用程序正在运行,或者其他进程可能锁定了图像文件),我重新启动后在资源管理器中遇到图标缓存损坏。资源管理器在桌面和“开始”菜单上为我的应用程序显示空白/默认快捷方式图标。

我们在互联网上进行了搜索,发现了多种刷新资源管理器图标缓存的“厨房水槽”方法,但似乎没有一种方法在所有操作系统上都完全可靠。因此,我们宁愿首先找出导致这种腐败的原因并治愈疾病,而不是治疗症状。

这发生在 Windows Vista 和 Windows 7 中,但不会发生在 Windows XP 中。

特别是,每当资源管理器刷新文件关联时,损坏就会“生效”。这可能是立即的(如果在 Inno 脚本中设置了 ChangesAssociations=yes),或者稍后。

有没有人遇到过这个?我们不明白为什么会出现此图标缓存损坏。

最佳答案

虽然需要重新启动explorer.exe,但下面的批处理脚本不需要重新启动即可生效:

重建图标缓存.bat

@echo off
taskkill /IM explorer.exe /F
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe

关于windows - 升级安装后 Vista/Win7 资源管理器快捷方式中的应用程序图标损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10011831/

相关文章:

c# - .NET WPF Process.Start() 不适用于 Vista 和 Windows 7

windows - GetVolumeNameForVolumeMountPoint() 的用户/密码问题(Windows 远程驱动器安装?)

C# - 屏蔽文本框(如何去掉其中的下划线)

windows - 线程 ID 与线程句柄

visual-studio - 找不到 "Use Custom Web Server"

windows - 在 Windows 7 和 Ubuntu 上使用相同的 mongodb 数据库

Windows命令行重定向下的c++换行符

c++ - 如何避免链接 msvcr100.dll?

windows - NtQueryInformationProcess 的替代方法来获取命令行

javascript - 在 Safari for Windows 中调试 javascript