1
votes

I'm using Inno setup to generate installer for my EXE package. My main EXE file is driven by a batch file. When i followed the below given scripts installer is creating shortcut. But the icon that i given in Inno script is not appearing as icon, instead default batch icon is appearing. The application working very fine. thanks in advance. My Inno Script file:

; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "cookie_crumbs_tableau"
#define MyAppVersion "2.0"
#define MyAppExeName "cookie_crumbs_tableau.bat"    
[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={{EF731CE0-43E4-4C87-B33C-8F16C2529E77}
    AppName={#MyAppName}
    AppVersion={#MyAppVersion}
    ;AppVerName={#MyAppName} {#MyAppVersion}
    AppPublisher={#MyAppPublisher}
    AppPublisherURL={#MyAppURL}
    AppSupportURL={#MyAppURL}
    AppUpdatesURL={#MyAppURL}
    DefaultDirName=C:\{#MyAppName}
    DisableDirPage=yes
    DisableProgramGroupPage=yes
    OutputDir=C:\Users\Cookie1\Desktop\EXEFINAL
    OutputBaseFilename=cookie_crumbs_tableau_setup
    ;SetupIconFile=C:\Dev\EXE\prod\crumbs_tableau\dist\cookie_crumbs_tableau\crumbs.ico
    SetupIconFile=C:\Users\Cookie5\Documents\Crumbs.ico
    Compression=lzma
    SolidCompression=yes

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

    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1


    [Files]
    Source: "C:\Dev\EXE\prod\crumbs_tableau\dist\cookie_crumbs_tableau\cookie_crumbs_tableau.bat"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Dev\EXE\prod\crumbs_tableau\dist\cookie_crumbs_tableau\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
    ;Source: "C:\Dev\EXE\prod\crumbs_tableau\dist\cookie_crumbs_tableau\cookie_crumbs_tableau.bat"; DestDir: "{app}"; Flags: ignoreversion
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files

    [Icons]
    Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
    Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
    Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

    [Run]
    Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: shellexec postinstall skipifsilent
1
We need minimal reproducible example - What is MyAppExeName? - Martin Prikryl
@MartinPrikryl please have a look now, script edited. - frank hk

1 Answers

0
votes

You are using the bat icon as Innosetup is given "cookie_crumbs_tableau.bat" without IconFilename being used so it defaults to the bat icon. If you want a custom icon then use IconFilename to set an icon in your [Icons] section.

i.e.

[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\program.exe" 
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; IconFilename: "{app}\program.exe"
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon; IconFilename: "{app}\program.exe"