Glossary

From NSIS Wiki

Glossary to assist newbies understand the NSIS User Manual (v2.38 on 8/29/08)
Attribute: Command that configures your installer's general behavior (unlike an Instruction): AutoCloseWindow true. Unless it's a Compiler Flag, it's not Section or Function specific and so is specified outside them
Callback: A Function called by the installer at certain points in the install, eg, .onInit is called when the installer is nearly finished initializing
Command: Any non-comment line (possibly \-extended), ie, Compile Time Commands, Attributes (and Compiler Flags), Instructions, and commands related to the definition of Functions, Pages, Sections, and Variables
Comment: Text enclosed in /* ... */ or prefixed with ; or #
Compile Time Command: Always starts with a bang, eg,
!ifdef VERSION & NOVERSION
  !error "Warning compile-person: both VERSION and NOVERSION are defined"
!endif
Compiler Flag: An Attribute that "affect[s] how the compiler generates code and compresses data": SetCompressor zlib
Constant: A case-insensitive, read-only variable with built-in value. Dereferenced as a variable: $EXEPATH
Define: A symbol defined at runtime by NSIS (a Predefine), by !define, or by /D at the command line. Dereferenced with $ and curly brackets: ${VERSION}
File Instruction: includes the named file(s) in the installer's data block at compile time for extraction to the /oname or SetOutPath folder at run time. (This is included here as hopefully an improvement to "Adds file(s) to be extracted to the current output path")
Function: A user-created block of commands called explicitly (user function) or automatically (Callback)
Installer: A wizard that MakeNSIS.exe compiles from a script
Instruction: A Function or Section command executed when your installer is run, eg, FileClose $0
Page: The Page family of commands typically specify either Page custom creator_function leave_function or one of the internal page types, which are license, components (to select), directory (of installation), instfiles (where, installer configuration complete, the Sections are executed), uninstConfirm. These differ in some behaviors (e.g., Sections define components for the components page only) and the attributes that effect them. LicenseText's setting, if any, is only used on the license page, for example
Plug-in: A DLL file called using form DLLName::FunctionName "param1" "param2" "param3"
Predefine: A Define with built in value. Includes four underscores in its name: ${__<UPCASE>__}, eg, ${__FILE__}
Register: A pre-declared variable, one of $0 - $9, $R0 - $R9
Script: A (.nsi) text file that sets some attributes (minimally, outfile), usually declares/defines/assigns some Symbols, then lists the Pages, in order, to walk the (un)installing user through. Zero or more Functions and at least one Section follow. Plug-ins may be called and header (.nsh) scripts !included
Section: A block of commands "executed in order by the resulting installer." "If [Attribute] ComponentText is set, the user will have the option of disabling/enabling each visible section. If a section's name is 'Uninstall' or is prefixed with 'un.', it's an uninstaller section."
Symbol: Define (Predefine or user !define) or Variable
Variable: A globally-scoped constant, register, or user variable
Personal tools
donate