You can use these standard predefines to automatically add the build time to the title of development versions, add the date to the version number, etc.
Current script name.
Current line number.
Date when the script started compiling according to the current locale.
Time when the script started compiling according to the current locale.
Date & time of the last modification to the script file according to the current locale.
NSIS version used to build the script.
Standard predefines that contain information of the current code scope.
Defined in the global scope.
Section test !ifdef ${__GLOBAL__} !error "this shouldn't be here!" !endif SectionEnd Function test !ifdef ${__GLOBAL__} !error "this shouldn't be here!" !endif FunctionEnd PageEx instfiles !ifdef ${__GLOBAL__} !error "this shouldn't be here!" !endif PageExEnd
Defined as the section name, without any prefixes, in section scope.
!ifdef __SECTION__ !error "this shouldn't be here!" !endif Section test !ifndef __SECTION__ !error "missing predefine!" !endif !if ${__SECTION__} != test !error "wrong predefine value!" !endif SectionEnd Section !test !if ${__SECTION__} != test !error "wrong predefine value!" !endif SectionEnd Section un.test !if ${__SECTION__} != test !error "wrong predefine value!" !endif SectionEnd
Defined as the function name, without any prefixes, in function scope.
!ifdef __FUNCTION__ !error "this shouldn't be here!" !endif Function test !ifndef __FUNCTION__ !error "missing predefine!" !endif !if ${__FUNCTION__} != test !error "wrong predefine value!" !endif FunctionEnd Function un.test !if ${__FUNCTION__} != test !error "wrong predefine value!" !endif FunctionEnd
Defined as the page type in PageEx scope.
!ifdef __PAGEEX__ !error "this shouldn't be here!" !endif PageEx instfiles !ifndef __PAGEEX__ !error "missing predefine!" !endif !if ${__PAGEEX__} != instfiles !error "wrong page type" !endif PageExEnd
Defined in section, function or PageEx scopes of the uninstaller.
!ifdef __UNINSTALL__ !error "this shouldn't be here!" !endif Function test !ifdef __UNINSTALL__ !error "this shouldn't be here!" !endif FunctionEnd Function un.test !ifndef __UNINSTALL__ !error "missing predefine!" !endif FunctionEnd