可以更改应用程序文件的图标吗?

时间:2015-10-01 23:26:51

标签: icons inno-setup

我使用Inno Setup创建Windows软件安装程序,并希望为分布式exe文件使用自定义图标(它将位于C> Program Files> MyProgram中)。

到目前为止,通过使用以下代码,我已经能够通过[Icon]部分...

Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico";  Tasks: desktopicon

当我说它"有点"工作......它确实自定义了桌面快捷方式的图标,但与原始图标的质量相比,图标的质量看起来很糟糕。

但更大的问题是......我无法弄清楚如何自定义实际应用程序(exe)文件的图标,或者开始菜单快捷方式。

我会假设以下行可以解决应用程序文件......

Name: "{pf}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico";

我还假设以下代码可以解决开始菜单图标...

Name: "{commonstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico";

但没有骰子。它只使用默认图标。

谁能说出我做错了什么?我会在这里发布整个脚本,但似乎Stack Overflow代码编辑器不喜欢多行上的一堆花括号(如果有人知道方式我会很乐意发布整个脚本)。

和FYI ......对于这个特殊的项目,在通过Inno Setup运行它之前更改exe图标似乎不是一个选项(我尝试通过Resource Hacker更改它,虽然它成功地改变了它exe的图标,它在整个过程中损坏了文件,甚至无法运行:(

如果无法使用Inno Setup自定义应用程序文件的图标,那么我还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

如您所知,应用程序图标内置于.exe文件中。 Inno安装程序无法修改.exe文件。并且没有其他方法可以通过外部方式覆盖应用程序图标。

在构建安装程序之前,您必须自己编辑.exe文件。

我个人使用Resource Hacker并且没有任何问题。

确保您正在修改的应用程序的许可证允许进行此类自定义。

Windows“开始”菜单中的图标确实是使用IconFilename设置的。我也没有问题。

问题可能是Windows缓存了“开始”菜单图标。因此,如果您之前在“开始”菜单中有该条目,则使用新图标重新安装应用程序有时会使Windows重置缓存。它一直显示旧图标。尝试卸载,重新启动并重新安装。