3 votes

Pas d'icône avec Inno Setup

J'ai une application qui s'exécute normalement. Mais quand je fais un fichier setup avec Inno Setup aucune icône n'est affichée. Le setup script est :

; 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 

Tu sais ce qui ne va pas ?

9voto

John Points 91

Je sais que c'est un vieux message. Mais peut-être que cela aidera quelqu'un.

Avec inno, en utilisant quelque chose comme ce qui suit, j'ai pu associer des icônes au raccourci du bureau(desktop.ico), à l'application lancée depuis le démarrage(start.ico), à la désinstallation lancée depuis le démarrage(uninst.ico), et au setup.exe(setup.ico).

Remplacez vos chemins d'accès aux icônes \names au lieu de e.g. C:\Temp\setup.ico. Substituez votre application à la place de MyApp.

Dans la section [Configuration] :

SetupIconFile=C:\Temp\setup.ico

Dans la section [Icônes] :

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"

3voto

RobeN Points 2056

En regardant votre script, je peux dire qu'il manque la section [Icons]. Vous avez ajouté [Tâches] avec une case à cocher pour l'icône du bureau uniquement.

Vous devriez ajouter à votre script quelque chose comme :

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

Si le fichier EXE ne contient pas d'icône ou si vous souhaitez définir une icône personnalisée, vous devez également utiliser le drapeau : IconFileName: "{app}\CustomIconFile.ico"

1voto

Stijn Sanders Points 10468

Si vous recherchez spécifiquement l'icône utilisée lors de l'énumération de l'installation dans la liste sous l'onglet "Installation", vous pouvez l'utiliser. Ajout/Suppression de programmes du panneau de configuration, utilisez l'option UninstallDisplayIcon réglage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X