Pascal Scripting: Introduction

Inno Setup

Pascal Scripting: Introduction

The Pascal scripting feature (modern Delphi-like Pascal) adds lots of new possibilities to customize your Setup or Uninstall at run-time. Some examples:

  • Support for aborting Setup or Uninstall startup under custom conditions.
  • Support for adding custom wizard pages to Setup at run-time.
  • Support for extracting and calling DLL or other files from the Pascal script before, during or after the installation.
  • Support for scripted constants that can do anything the normal constants, the read-from-registry, read-from-ini and read-from-commandline constants can do + more.
  • Support for run-time removal of types, components and/or tasks under custom conditions.
  • Support for conditional installation of [Files], [Registry], [Run] etc. entries based on custom conditions.
  • Lots of support functions to do from the Pascal script just about everything Inno Setup itself does/can do + more.

An integrated run-time debugger to debug your custom Pascal script is also available.

The scripting engine used by Inno Setup is RemObjects Pascal Script by Carlo Kok. Like Inno Setup, RemObjects Pascal Script is freely available and comes with source. See http://www.remobjects.com/ps [external link] for more information.

Note: the Pascal scripting feature works exclusively at run-time, and has no compile-time functionality.

See also:
Creating the [Code] section
Event Functions
Scripted Constants
Check Parameters
BeforeInstall and AfterInstall Parameters
Uninstall Code
Examples
Support Functions Reference
Support Classes Reference
Using Custom Wizard Pages
Using DLLs
Using COM Automation objects