You can compile scripts from the command line using the Command-Line Compiler, ISCC.exe. Command-line usage is as follows:
iscc [options] <script name>
iscc "c:\isetup\samples\my script.iss"
As shown in the example above, filenames that include spaces must be enclosed in quotes.
To read the script from standard input, specify - as the script name. Such a script is assumed to be UTF-8 encoded.
Valid options are:
| Option | Meaning |
|---|---|
| --output=(yes|no), -o(+|-) | Enables or disables output (overrides Output). |
| --output-dir=<path>, -o<path> | Outputs files to specified path (overrides OutputDir). |
| --output-filename=<filename>, -f<filename> | Specifies an output filename (overrides OutputBaseFilename). |
| --signtool=<name>=<command>, -s<name>=<command> | Sets a SignTool with the specified name and command (any Sign Tools configured using the Compiler IDE will be specified automatically). |
| --no-ide-signtools, -ni | Do not auto-specify Sign Tools configured using the Compiler IDE. |
| --no-compression, -nc | Disables compression (overrides Compression and InternalCompressLevel). |
| --no-signing, -ns | Disables signing (overrides SignTool and SignedUninstaller). |
| --no-signcheck, -nsc | Disables signcheck validation. |
| --messages-jsonl, -mj | Outputs errors and warnings in JSONL format (warnings are not suppressed by --quiet when --messages-jsonl is active). |
| --preprocess, -e | Preprocesses to stdout and suppresses compilation. |
| --quiet, -q | Suppresses messages that are normally printed to standard output (see --messages-jsonl). |
| --quiet-progress, -qp | Same as --quiet while still displaying progress. |
| --help, -? | Prints usage information. |
| --version | Prints the compiler engine version. |
iscc --quiet-progress --output-dir="My Output" -f"MyProgram-1.0" -sbyparam=$p "c:\isetup\samples\my script.iss"
Short options accept both - and / as a prefix and are case-insensitive. Long -- options are case-sensitive and do not accept // as a prefix.
Also see Inno Setup Preprocessor: Command-Line Compiler for additional options.
Exit codes:
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Command-line parameters were invalid or a fatal error occurred |
| 2 | The compile failed |
Alternatively, scripts can also be compiled by the Compiler IDE from the command line. Command-line usage is as follows:
iside -cc <script name> iside --compile <script name>
iside -cc "c:\isetup\samples\my script.iss"
As shown in the example above, filenames that include spaces must be enclosed in quotes.
Short options accept both - and / as a prefix and are case-insensitive. Long -- options are case-sensitive and do not accept // as a prefix.
Running the Compiler IDE from the command line does not suppress the normal progress display or any error messages. The Compiler IDE will return an exit code of 0 if the compile was successful, 1 if the command-line parameters were invalid, or 2 if the compile failed.
The Setup Script Wizard can be started from the command line. Command-line usage is as follows:
iside -wizard <wizard name> <script name> iside --new-script-wizard <wizard name> <script name>
iside -wizard "MyProg Script Wizard" "c:\temp.iss"
As shown in the example above, wizard names and filenames that include spaces must be enclosed in quotes.
Short options accept both - and / as a prefix and are case-insensitive. Long -- options are case-sensitive and do not accept // as a prefix.
Running the wizard from the command line does not suppress any error messages. The Setup Script Wizard will return an exit code of 0 if there was no error and additionally it will save the generated script file to the specified filename, 1 if the command-line parameters were invalid, or 2 if the generated script file could not be saved. If the user cancelled the Setup Script Wizard, an exit code of 0 is returned and no script file is saved.