如何让我的Inno Setup自定义图标在Windows中一致显示,就像它在未包含在Windows中的程序一样?

我使用Inno Setup创build了几个安装程序aka安装程序exe文件。 当我完成我的testing后,我在我的桌面上创build了我的安装程序文件。 我的大多数图标显示正常,但在安装程序安装程序文件上显示图标时,显示有点零星。 当我使用未包含在Windows中的程序打开包含安装程序安装程序文件的文件夹时,它始终显示图标。 但是,当我使用Windows中包含的程序执行相同的操作时,它们不一致地显示。 下面的图片是两个例子。

左边的窗口是Inno Setup。 您可以看到所有图标都按预期显示。 我也尝试过另一个程序,我已经删除,并显示三个图标。 右边的窗口是写字板。 基本立方拼图安装文件只显示其中一个图标。

在这里输入图像描述

该图像显示了我桌面上的三个安装文件。 正如你所看到的,没有一个显示一贯出现在未包含在Windows中的程序中的自定义图标。

这是我的代码在我的iss文件。

#define MyIconFile "ThePathForMyCustomIcon" [Setup] SetupIconFile={#MyIconFile} [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{#MyIconFile}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{#MyIconFile}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; IconFilename: "{#MyIconFile}" Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{#MyIconFile}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; IconFilename: "{#MyIconFile}" Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon; IconFilename: "{#MyIconFile}" 

是否有一个Inno安装参数,我可以专门为Windows设置让我的自定义图标始终显示在Windows中使用程序?

这是近十年来我第一次使用Windows。 我不是两个星期前购买了Windows 10触摸屏笔记本电脑。 我最后一次使用Windows的经验是使用XP。 在上次尝试重新创build我的安装文件之前,我已经完成了磁盘清理。 我不确定下一步是什么。

我从来没有经历过这样的问题 – 即使在今天,Windows 10和写字板,我可以看到我的设置文件的适当的图标。

我怀疑你遇到图标缓存问题,它存储了以前为Inno Setup通用安装程序缓存的通用图标。

您可以尝试清除Windows图标缓存 – 请注意,这种方式在Windows Vista / 7和Windows 8/10上有所不同。 这里描述一种方法。