Windows 7 Windows 7上的桌面快捷方式图标错误(Inno安装程序)

Windows 7 Windows 7上的桌面快捷方式图标错误(Inno安装程序),windows-7,icons,inno-setup,desktop-shortcut,Windows 7,Icons,Inno Setup,Desktop Shortcut,我已经用Inno安装程序创建了一个安装程序。用于桌面快捷方式和开始菜单的图标嵌入到应用程序可执行文件中 最初创建安装程序时,我没有设计团队提供的最终产品图标。我在完成安装时使用了一个临时图标 一切正常,直到我改变了最后一个图标。现在,桌面快捷方式和“开始”菜单图标始终显示旧图标,即使其他地方的图标都正确 这是脚本的图标声明部分 [Icons] Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; WorkingDir: {app

我已经用Inno安装程序创建了一个安装程序。用于桌面快捷方式和开始菜单的图标嵌入到应用程序可执行文件中

最初创建安装程序时,我没有设计团队提供的最终产品图标。我在完成安装时使用了一个临时图标

一切正常,直到我改变了最后一个图标。现在,桌面快捷方式和“开始”菜单图标始终显示旧图标,即使其他地方的图标都正确

这是脚本的图标声明部分

[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}
以下是我尝试过的:(这是一个Windows7系统)

如果我查看快捷方式属性并选择“更改图标”,我会看到正确的图标。重新选择它没有效果。我也尝试过选择一个dis相关图标,然后重新选择正确的on。。。仍然显示旧的一个

我按照建议删除IconCache.db并重新启动机器,但这也没有效果

这个老图标到底从哪里来?它不在安装程序中


有人知道吗?

看来这确实与
IconCache.db
文件有关。我只能猜测有些事情没有按正确的顺序完成(尽管我不止一次尝试了不同的程序)

以下是我如何手动执行重置:

  • 单击开始按钮>按住Ctrl+Shift键并右键单击开始菜单中的空白区域
  • 选择“退出资源管理器”
  • 按住Ctrl+Shift+Esc键打开任务管理器
  • 选择“文件”>“新任务”
  • 键入:cmd(然后按Enter键)。这将打开命令提示符
  • 键入:
    cd/d%userprofile%\AppData\Local
    (然后按Enter键)
  • 键入:
    attrib–h IconCache.db
    (然后按Enter键)
  • 键入:
    del IconCache.db
    (然后按Enter键)
  • 键入:
    启动资源管理器
    (然后按Enter键)

现在,所有内容都按其应有的方式呈现。

正如在WhirlyWonder的回答中所述,此批处理脚本应自动执行此过程:

重建图标缓存.bat

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

你写问题的方式让我相信这一切都发生在一台Windows7电脑上。您是否尝试过用新图标重建Inno安装文件并在第二台计算机上运行它?这是否仍然显示旧图标?我已在“virgin”Windows XP和Windows 7计算机上安装了此应用程序。两者都正确渲染图标。在我的机器上缓存旧图标可能是什么?它只是拒绝死亡…发布安装程序脚本的[Icons]部分,也许这会有所帮助。您的可执行文件是否只包含您想要使用的图标(即,不是您不想要的临时图标)?是的,如果在其他两台机器上安装后显示正确的图标,则问题与Inno安装无关。它必须在您的计算机上,并且有96%的可能性与缓存有关。不,临时图标不再存在于应用程序或安装程序中的任何位置。我已经在主题描述中添加了[Icons]声明。这是Windows中的一个bug(我记得Win7和Vista也是)。即使在重新启动时,图标缓存也不会注意到整个EXE(不仅仅是图标)发生了更改。另一个错误是,如果你在exe存在之前创建了快捷方式,那么外壳会缓存一个通用图标,并永远使用它,直到你手动强迫这个愚蠢的东西重建缓存。这看起来是一个非常糟糕的错误。。。特别是在两个主要版本中仍然存在。@Leo:我想我同意你的看法,因为我以前见过这种情况。你有没有就此提交过错误报告(或者你知道有没有提交过)?@Cody Gray:我放弃了向微软提交错误报告。完全是浪费时间,IMO.:\+1谢谢!我已经在这件事上浪费了足够多的时间,你帮我省了更多的时间。我正在卸载和重新安装,图标没有显示。。。