File <project>.iss

Every Inno Setup installer is stored in a .iss file. Script files are usually edited using external application. After you have finishing writing the script, the next and final step is called "Compilation" in the Setup Compiler.
Compiler creates a complete, ready-to-run Setup program based on your script. By default, this is created in a directory named "Output" under the directory containing the script.
For more information about Inno Setup script format see Inno Setup Scripting reference.

When you use Graphical Installer Wizard for creating Graphical Installer powered installers it will generate such .iss file. This file represents your installer. It does not matter how this file is called - we will call it <project>.iss.

Graphical Installer powered installer use another file called <project>.graphics.iss which contains aditional data required for proper initialization of Graphical Installer skinning engine. All Graphical Installer powered installers MUST contain these two files (also they must be in the same directory!). If one of this files is missing, the installer will not be skinned properly.

The biggest advantage of Graphical Installer powered installers is the fact that is it really simple to add/remove skinning mechanism from .iss file.
Whole skinning mechanism can be removed by commenting out GRAPHICAL_INSTALLER_PROJECT symbol.
If this symbol is defined, appropriate values are loaded from <project>.graphics.iss file and function are called.

Typically this file looks like this:



The most important part is the [Code] section. There you can find procedures InitializeWizard(); CurPageChanged(CurPageID: Integer); and DeInitializeSetup(); which take care about drawing in Graphical Installer. In these 3 procedures all Graphical Installer drawing is processed. As you can see there are only 3 new lines to your script!

All settings (colors, pictures, etc) are defined in <project>.graphics.iss so your script file will not be choked with foreign code.