Here is a big tutorial for my CI (C Custom I Installer) 8:Required files for the installation

Code:

Setup.cab => is origin a zip file, contains installer images and sounds -> you can edit it using WinRAR or 7zip
Setup.dll => its an executable for the setup
Setup.exe => the real executable
Setup.ini => configuration file for Setup (GameName etc) -> you can edit it using notepad

For basic setup you need only to edit Setup.cab and Setup.iniSetup.cab:

InstallOptions => this part defines main game info
ApplicationName => Name of the game
Publisher => Publisher name of the game
MyExecutableName => main executable of the game
MyExecutablePath => define this if the main executable is not in root folder, but in subfolder
example gamefolder\bin32\yener90.exe you need to define like this:
MyExecutableName=yener90
MyExecutablePath=bin32
#######
if you have two executables, you need following lines:
MyExecutableIconName2 => Name of the shortcut and autorun menu of the second executable
MyExecutableName2 => secobd executable of the game
MyExecutablePath2 => define this if the second executable is not in root folder, but in subfolder
#######
SaveGameFolder => define here the folder of the savegames
GameSize => Size of the game in MB
Lang => supported languages
LangUI => if you enable this (by using worth 1), language selector will be disabled and windows language will be used automaticly
PrecompVer => defines the version of precomp, if you used it
Editor => if you edited my source, you can put your name here.
InstallSettings => this part defines gdf binaries
GDFBinary => name of the gdf binary
only required if your games needs two gdf binaries:
GDFBinary2 => name of the second gdf binary
You can also define language specific gdf binaries:
just take from Language Info your language and add it to the end of GDFBinary.
Example for a Turkish and Greek gdf binary
GDFBinaryTR=GDF_Turkish.dll
GDFBinaryGR=GDF_Greek.dll
ExtractSettings => this part defines files for extracting
FreeArcFile1={src}\Data1.cab;DestDir:{app};Disk:1;PrecSrep:0;Lang:de
FreeArcFile2={src}\Data2.cab;DestDir:{app};Disk:1
Data1.cab => name of the archive that should be extracted
DestDir:{app} => folder where the game should be extracted ({app} is game folder)
Disk => number of, on which disk the archive is
Precsrep => use extreme decompression method
for this you need to compress the archive this way:
Example if you want to name your archive Data.cab
Compress all files in Data.arc
-> Compress Data.arc in Data.pcf
-> Compress Data.pcf in Data.srep
-> Compress Data.srep in Data.cab
Lang => defines for which language the archive should be extracted (look for available languages to "Language Info")
FreeArcFile1 number of archive which should be extracted
FreeArcFile = Defines the file header. Possible values FreeArcFile, 7zFile and RarFile
1 = defines number of archive which should be extracted
if you want to extract one FreeArcFile one 7z file you need to define like this:
FreeArcFile1={src}\Data1.cab;DestDir:{app};Disk:1;PrecSrep:0;Lang:de
7zFile1={src}\Data2.cab;DestDir:{app};Disk:1
InterfaceSettings => this part defines interface settings of the installer
BackgroundWidth => set the background image width => it should be the width of 1.jpg or flash.swf
BackgroundHeight => set the background image height => it should be the height of 1.jpg or flash.swf
ButtonWidth => set the button image width => it should be the width of button.png
ButtonHeight => set the button image height => it should be the height of button.png (not the whole height -> only one button height)
ButtonLabelX => move the buttons text to left/right (standard = 0) positive value moves right/negative left
ButtonLabelY => move the buttons text to up/down (standard = 0) positive value moves down/negative up
Button1Left => set the button position left (next / standard installation button)
Button1Top => set the button position top (next / standard installation button)
Button2Left => set the button position left (back / custom installation button)
Button2Top => set the button position top (back / custom installation button)
Button3Left => set the button position left (cancel button)
Button3Top => set the button position top (cancel button)
Button4Left => set the button position left (music button)
Button4Top => set the button position top (music button)
FinishPosBackPos => set where the finish button should be placed => 1 = place of back button 0 = place of nextbutton
ButtonFont => set the button font
ButtonFontBold => set if the button font should be bold
ButtonFontSize => set the button font size
this part only works if you used button.png
ButtonFontColor => set the button font color => color need to be reversed => exchange first two values with the last two values
ButtonFontColorOnMouse => set the button font color, if you move the mouse on it => color need to be reversed => exchange first two values with the last two values
ButtonFontColorMouseDown => set the button font color, if you click on it => color need to be reversed => exchange first two values with the last two values
ButtonFontColorDisabled => set the button font color, if button is disabled => color need to be reversed => exchange first two values with the last two values
ButtonOneLiner => set if the button text should be wrapped or not
EnableAutorunMenu => enable this if you want to use Autorun menu feature
EnableFastInstall => enable/disable standard installation/custom installation button
FlashLeft => set the flash animation position left in installer
FlashTop => set the flash animation position top in installer
FlashWidth => set the flash animation position widthin installer
FlashHeight => set the flash animation position height in installer
InstallerWidth => set the width of the installer = it should have the width of installer.jpg
InstallerHeight => set the height of the installer = it should have the height of installer.jpg
LogoLeft => set the logo position left in installer
LogoTop => set the logo position top in installer
LogoWidth => set the width of the logo = it should have the width of logo.jpg
LogoHeight => set the height of the logo = it should have the height of logo.jpg
ProgressBarHeight => set the width of progressbar
SetupFont => set the setup font
SetupFontColor => set the setup font color, if you click on it => color need to be reversed => exchange first two values with the last two values
ShowLogoInBG => enable/disable logo in background
SmallButtonWidth => set the small button image width => it should be the width of smallbutton.png
SmallButtonHeight => set the small button image height => it should be the height of smallbutton.png
SmallInstallerFontColor => define the color of setup font in small installer => if not defined, setup will use SetupFontColor
SmallInstallerWidth => set the small installer image width => it should be the width of smallinstaller.jpg
SmallInstallerHeight => set the small installer image height => it should be the height of smallinstaller.jpg
TextCenter => enable/disable center alignment of the text in installer
TextPositionLeft => set the texts left position
TextPositionTop => set the texts top position
TextPositionWidth => set the texts width => it should be the width of TextBG.png if you use it
TextPositionHeight => set the texts height => it should be the height of TextBG.png if you use it
TextSpaceFromBorder => set the space between the text and the border of the text file
This part AutorunSettings is only required, if you enabled EnableAutorunMenu=1
AutorunSettings => options for autorunmenu
AutorunWidth => set the width of the Autorun= it should have the width of Autorun.jpg
AutorunHeight => set the height of the Autorun = it should have the height of Autorun.jpg
ButtonLabelX => move the buttons text to left/right (standard = 0) positive value moves right/negative left
ButtonLabelY => move the buttons text to up/down (standard = 0) positive value moves down/negative up
ButtonWidth => set the button image width => it should be the width of button.png
ButtonHeight => set the button image height => it should be the height of button.png (not the whole height -> only one button height)
ExitLeft => set the button position left (exit button)
ExitTop => set the button position top (exit button)
InstallLeft => set the button position left (install/uninstall button)
InstallTop => set the button position top (install/uninstall button)
PlayLeft => set the button position left (play button)
PlayTop => set the button position top (play button)
ButtonFont => set the button font
ButtonFontBold => set if the button font should be bold
ButtonFontSize => set the button font size
this part only works if you used button.png
ButtonFontColor => set the button font color => color need to be reversed => exchange first two values with the last two values
ButtonFontColorOnMouse => set the button font color, if you move the mouse on it => color need to be reversed => exchange first two values with the last two values
ButtonFontColorMouseDown => set the button font color, if you click on it => color need to be reversed => exchange first two values with the last two values
ButtonFontColorDisabled => set the button font color, if button is disabled => color need to be reversed => exchange first two values with the last two values
DisableWindowBorder => Enable/disable window border in autorun
LangBoxCenter => center language box in autorun
if LangBoxCenter enabled then you dont need to set LangBoxLeft
LangBoxLeft => set the language box position left
LangBoxTop => set the language box position top
RoundedCornerX => will give you rounded corner in autorun (Standard = 0)
RoundedCornerY => will give you rounded corner in autorun (Standard = 0)
for perfect math RoundedCornerX and RoundedCornerY should have the same values
example if you set both to 200=
http://img195.imageshack.us/img195/4082/examplesi.jpg
LauncherSettings => install additional files
InstallRedist => enable/disable additional installations
Launch1 => set the name of the application which should be installed
Launch164 => if you enable this, this application will be only installed on X64 systems
Launch1BeforeInstall => if you enable this, this application will be installed before the installation begins
LaunchCom1 => set the executable of the application
LaunchArg1 => set the command line of the application (if you launch it silent then its required)
you can max execute 8 applications

Language Info:
Currently 29 Languages are supported + 3 locales.
Here is a list for the setup:

How to enable internal installation:
1. open "InstallerScript.iss" using UNICODE version of Inno setup
2. delete the sign ";" in front of "#define ProgramFiles..."
3. change the path:
4. Save and CompileIf you dont use external files, delete "ExtractSettings" section from setup.ini

How to insert registry keys:
1. open "InstallerScript.iss" using InnoIDE
2. go to Registry section and insert you registry file to the window
3. if you have x64 version, delete "Wow6432Node\" from subkey of your inserted registry key
4. if game path appears exchange it with {app}
Example:
F:\Program Files (x86)\EA Games\Syndicate registry value to
{app}
5. activate the flag "Delete key on uninstall" of your inserted registry key
6. press save and compile(Compile only if you dont want to enable internal installation)

Posting Conversions:
if you are finished with your work, compile langscript.iss,
-> if you use Setup.cab = Autorun icon gets updated
-> if you use Internal = Autorun icon gets updated + All the required files will be integrated so users dont need to compile
(after this delete in Setup folder Autorun folder)

Thanks for CI 8.0.0! I managed to do a conversion (DiRT 3 Complete Edition) and I noticed something strange: during installation I see only a picture even if I put 10 pictures in Setup / Background and I called 1,2,3,4 ...... 10 (all jpg). I tried to make the conversion a second time, I deleted 3 photos and left only 7 but with the same result, I see only first image throughout the installation! What should I do to see all images during installation?

Thanks for CI 8.0.0! I managed to do a conversion (DiRT 3 Complete Edition) and I noticed something strange: during installation I see only a picture even if I put 10 pictures in Setup / Background and I called 1,2,3,4 ...... 10 (all jpg). I tried to make the conversion a second time, I deleted 3 photos and left only 7 but with the same result, I see only first image throughout the installation! What should I do to see all images during installation?

upload somewhere the Setup.cab fille and i will look into it
you can also pm me.

If you use external compression ( freearc ) then you use the ExtractSettings in setup.ini,
the freearc files can be named anything data1.arc, data1.bin, data1.x... doesnt matter as long as it was created with freearc.

IF you use internal then your using the installerscript.iss file & "#define ProgramFiles...", & you must remove the ExtractSettings section in setup.ini