There are a number of predefined variables provided ISPP:
| __COUNTER__ | int. Automatically increments each time it is used (afterwards). |
| __FILENAME__ | str. Similar to __PATHFILENAME__, but returns only the filename portion. |
| __INCLUDE__ | str. Returns the current include path (or paths delimited with semicolons) set via #pragma include. |
| __LINE__ | int. Returns the number of the line in the current file. |
| __OPT_X__ | void. Defined if specified option set via #pragma option -x+ is in effect. In place of "X" may be any letter from "A" to "Z". Use Defined function to test whether the variable is defined. |
| __DIR__ | str. Similar to __PATHFILENAME__, but returns only the directory portion, excluding a trailing backslash (unless it is a root directory). |
| __PATHFILENAME__ | str. Returns the full path of the current include file. Empty string for the root script file. |
| __POPT_X__ | void. Defined if specified parser option set via #pragma parseroption -x+ is in effect. In place of "X" may be any letter from "A" to "Z". Use Defined function to test whether the variable is defined. |
| __WIN32__ | void. Always defined. |
| ISPP_INVOKED | void. Always defined. |
| ISCC_INVOKED | void. Defined if compilation was invoked using the console-mode compiler, ISCC.exe. |
| PREPROCVER | int. Returns the 32-bit encoded version of Inno Setup. Highest byte holds the major version, second highest byte holds the minor version, third highest byte holds the revision, and lowest byte holds the build number. |
| WINDOWS | void. Always defined. |
| UNICODE | void. Always defined. |
| CompilerPath | str. Points to the directory where the compiler is located. |
| SourcePath | str. Points to the directory where the root script file is located, or the My Documents directory if the script has not yet been saved. |
| SysPath | str. In a 64-bit compiler, the directory containing 64-bit system files. In a 32-bit compiler, the directory containing 32-bit system files. |
| Ver | int. Same as PREPROCVER. |
| NewLine | str. Returns the newline character. Declared in ISPPBuiltins.iss. |
| Tab | str. Returns the tab character. Declared in ISPPBuiltins.iss. |