How to add unlimited shortcuts from an ini?
Code:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define public ShortcutsINI ".\\Shortcuts.ini"
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Icons]
#ifnexist ShortCutsINI
#error Ini doesn't Exists
#endif
#define public Counter
#define public i
#define public Section
#expr Counter = 0
#define public ExeName
#define public ExeFile
#define public ExeGroupFile
#define public ExeParameters
#define public ExeWorkingDir
#define public ExeComment
#define public ExeIconFileName
#define public ExeFlags
#sub AddIcons
#expr Counter = Counter + 1
#expr Section = StringChange( "ExeCounter", "Counter", str(Counter) )
#expr ExeName = ReadIni (SourcePath + ShortcutsINI , Section, "Name")
#expr Exefile = Readini (SourcePath + ShortcutsINI , Section, "File")
#expr ExeParameters = Readini (SourcePath + ShortcutsINI , Section, "Parameters","")
#expr ExeWorkingDir = Readini (SourcePath + ShortcutsINI , Section, "WorkingDir","{app}")
#expr ExeComment = Readini (SourcePath + ShortcutsINI , Section, "Comment","Play")
#expr ExeIconFileName = Readini (SourcePath + ShortcutsINI , Section, "IconFileName","")
#expr ExeFlags = Readini (SourcePath + ShortcutsINI , Section, "Flags","")
#if ReadIni(SourcePath + ShortcutsINI, Section, "GroupShortCut","0") != "0"
#expr ExeGroupFile = Readini(SourcePath + ShortcutsINI , Section, "GroupIconName","")
Name: "{group}\{#ExeGroupFile}"; Filename:"{#ExeFile}"; Parameters: "{#ExeParameters}" ; WorkingDir: "{#ExeWorkingDir}" ; Comment: "{#ExeComment}" ; IconFilename: "{#ExeIconFileName}" ; Flags: {#ExeFlags} ;
#endif
Name: "{userdesktop}\{#ExeName}"; Filename: "{#ExeFile}"; Parameters: "{#ExeParameters}" ; WorkingDir: "{#ExeWorkingDir}"; Comment: "{#ExeComment}" ; IconFilename: "{#ExeIconFileName}" ; Flags: {#ExeFlags} ;
#endsub
#for { i = 1 ; ReadIni( SourcePath + ShortcutsINI, StringChange( "ExeCounter", "Counter", str(i)) , "Name" , "" ) != "" ; i++ } AddIcons
Ini Structure Should be:
Code:
[Exe1]
Name=Play - Some game
File={app}\SomeExecutable
Parameters=/play filename.mid
WorkingDir={app}
Comment=This is my program
IconFileName={app}\myicon.ico
;Flags=createonlyiffileexists
GroupShortCut=0
GroupIconName=SomeExecutableName
[Exe2]
Name=Play - Some game2
File={app}\SomeExecutable
Parameters=/play filename.mid
WorkingDir={app}
Comment=This is my program
IconFileName={app}\myicon.ico
;Flags=createonlyiffileexists
GroupShortCut=0
GroupIconName=SomeExecutableName
[Exe3]
Name=Play - Some game3
File={app}\SomeExecutable
Parameters=/play filename.mid
WorkingDir={app}
Comment=This is my program
IconFileName={app}\myicon.ico
;Flags=createonlyiffileexists
GroupShortCut=0
GroupIconNameSomeExecutableName
[Exe4]
Name=Play - Some game4
File={app}\SomeExecutable
Parameters=/play filename.mid
WorkingDir={app}
Comment=This is my program
IconFileName={app}\myicon.ico
;Flags=createonlyiffileexists
GroupShortCut=0
GroupIconName=SomeExecutableName
I wrote this Myselef


