Inno Setup Preprocessor: Predefined Variables

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 ISPP. Highest byte holds the major version, 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.
Ver int. Returns the 32-bit encoded version of Inno Setup compiler. Highest byte holds the major version, lowest byte the minor version.
NewLine str. Returns the newline character. Declared in ISPPBuiltins.iss.
Tab str. Returns the tab character. Declared in ISPPBuiltins.iss.