没有Inno Setup图标

3

我有一个正常运行的应用程序。但是当我使用Inno Setup制作安装文件时,没有显示图标。设置脚本如下:

; Script generated by the Inno Setup Script Wizard.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName       "MyApp"
#define MyAppVersion    "1.0"
#define MyAppExeName    "MyApp.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{C1DD3B91-BDCD-45CC-BFCA-C52DD39A6631}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName=C:\Inno Setup Studio\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=C:\Inno Setup Studio\MyApp
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "Do you want to create desktop icon?"; Flags: checkablealone

[Files]
Source: "C:\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "Requirements\msvcp100.dll"; DestDir: "{app}"
Source: "Requirements\msvcp100d.dll"; DestDir: "{app}"
Source: "Requirements\msvcr100.dll"; DestDir: "{app}"
Source: "Requirements\msvcr100d.dll"; DestDir: "{app}"
Source: "Requirements\PocoFoundation.dll"; DestDir: "{app}"
Source: "Requirements\PocoFoundationd.dll"; DestDir: "{app}"
Source: "Requirements\QtCore4.dll"; DestDir: "{app}"
Source: "Requirements\QtCored4.dll"; DestDir: "{app}"
Source: "Requirements\QtGui4.dll"; DestDir: "{app}"
Source: "Requirements\QtGuid4.dll"; DestDir: "{app}"
Source: "Requirements\QtNetwork4.dll"; DestDir: "{app}"
Source: "Requirements\QtNetworkd4.dll"; DestDir: "{app}"
Source: "Requirements\QtService.dll"; DestDir: "{app}"


[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram, #StringChange(MyAppName, '&','&&')}}"; Flags: nowait postinstall skipifsilent 

你知道出了什么问题吗?


3
因为你的脚本缺少[Icons]部分。桌面快捷方式示例[Icons] Name: "{commondesktop}\MyAppName"; Filename: "{app}\MyAppExeName.EXE"; WorkingDir: "{app}"; Tasks: desktopicon(如果需要,可以使用; IconFileName:"{app}\MyAppIconFile.ico")。 - RobeN
请澄清一下,您实际上是在谈论哪个图标? - Deanna
@Deanna - 从代码中可以预测到它是关于[Tasks] Name: "desktopicon"的 - sheykholeslam在任务页面上勾选了复选框,但由于脚本中缺少[Icons]部分,因此没有在桌面上创建图标。 - RobeN
离题了,但请注意通常情况下您不应该安装库的调试版本。 - Miral
为了澄清,在应用程序中(由Inno Setup安装的应用程序),没有显示任何图标。此外,我添加了[Icon]部分,但它并没有解决问题。 - Mohammad Sheykholeslam
@RobeN 我认为问题在于开始菜单上缺少应用程序图标。我要求原帖作者明确表述问题,而不是让我们猜测他们的问题所在。 - Deanna
4个回答

9
我知道这是一篇旧帖子,但也许对某些人有所帮助。
使用Inno安装程序,可以通过以下方式将图标与桌面快捷方式(desktop.ico)、从“开始”菜单启动的应用程序(start.ico)、从“开始”菜单卸载的程序(uninst.ico)和setup.exe(setup.ico)相关联。
在以下示例中,将C:\Temp\setup.ico替换为您的图标路径/名称,并将MyApp替换为您的应用程序名称。
在[Setup]部分:
SetupIconFile=C:\Temp\setup.ico

在[Icons]部分中:
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"; IconFilename: "C:\Temp\start.ico"

Name: "{group}\{cm:UninstallProgram,MyApp}"; Filename: "{uninstallexe}"; IconFilename: "C:\Temp\uninst.ico"

Name: "{commondesktop}\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon; IconFilename: "C:\Temp\desktop.ico"

是的,谢谢你! - Scott Eifel

3

从你的脚本来看,我可以说缺少了 [Icons] 部分。你只添加了带有桌面图标复选框的 [Tasks]。

你应该在脚本中添加类似以下的内容:

[Icons] 
Name: "{commondesktop}\MyAppName"; Filename: "{app}\MyAppExeName.EXE";
 WorkingDir: "{app}"; Tasks: desktopicon

如果EXE文件不含图标,或者您想设置自定义图标,您需要使用以下参数:IconFileName: "{app}\CustomIconFile.ico"

1
如果您特别想要在配置面板的添加/删除程序部分列表中列出安装时使用的图标,请使用UninstallDisplayIcon设置。

0

目录名称中的空格可能导致此问题。如果图标文件位于“我的图片”目录下,则程序无法识别它。您可以尝试在目录名称中不使用不允许的字符,例如空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接