我已经使用Inno Setup创建了一个安装程序。用于桌面快捷方式和开始菜单的图标嵌入在应用程序可执行文件中。
最初创建安装程序时,我没有设计团队的最终产品图标。在完成安装程序时,我使用了临时图标。
在我更改最后一个图标之前,一切正常。现在桌面快捷方式和开始菜单图标始终显示旧图标,即使图标正确无处不在。
这是脚本的Icon声明部分。
[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; WorkingDir: {app}
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}; IconFilename: {app}\Icons\stop.ico
Name: {commondesktop}\{#MyAppVersionName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon; WorkingDir: {app}
这是我尝试过的:(这是一个Windows 7系统)
如果我查看快捷方式属性,并选择“更改图标”,我会看到正确的图标。重新选择它没有任何效果。我也尝试过选择一个不相关的图标,然后重新选择正确的...仍然显示旧图标。
我已按照建议删除IconCache.db并重新启动机器,但这也没有效果。
世界上哪里有旧图标?安装程序中没有任何地方。
想点什么?
答案 0 :(得分:31)
这似乎确实与IconCache.db
文件有关。我只能猜测某些事情没有以正确的顺序完成(尽管我多次尝试不同的程序)。
以下是我手动执行重置的方法:
cd /d %userprofile%\AppData\Local
(并按 Enter )attrib –h IconCache.db
(并按 Enter )del IconCache.db
(并按 Enter )start explorer
(并按 Enter )现在一切都呈现出来。
答案 1 :(得分:10)
正如swirlywonder的回答一样,这个批处理脚本应该自动完成这个过程:
<强>重建图标-cache.bat 强>
@echo off
taskkill /IM explorer.exe /F
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe