documentation.HELP! Nullsoft Scriptable Install System Documentation

Tutorial: The Basics

Nullsoft Scriptable Install System

previous page next page

Previous | Contents | Next

Chapter 2: Tutorial: The Basics

  • Introduction
  • Script Files
  • Scripting structure
    • Installer Attributes
    • Pages
    • Sections
    • Functions
    • Working with Scripts
    • Script Execution
    • Compiler Commands
  • Compiler
  • Modern UI
  • Plug-ins
  • More

Previous | Contents | Next


previous page start next page

Menu

  • Homepage

Table of contents

  • NSIS Users Manual
  • Chapter 1: Introduction to NSIS
  • About NSIS
  • Main Features
  • Feature List
  • Unicode installers
  • Chapter 2: Tutorial: The Basics
  • Introduction
  • Script Files
  • Scripting structure
  • Installer Attributes
  • Pages
  • Sections
  • Functions
  • Working with Scripts
  • Logical Code Structures
  • Variables
  • Debugging Scripts
  • Script Execution
  • Compiler Commands
  • Compiler
  • Modern UI
  • Plug-ins
  • More
  • Chapter 3: Command Line Usage
  • MakeNSIS Usage
  • Options
  • Notes
  • Environment variables
  • Examples
  • Installer Usage
  • Common Options
  • Uninstaller Specific Options
  • Examples
  • Chapter 4: Scripting Reference
  • Script File Format
  • Variables
  • User Variables
  • Var
  • Other Writable Variables
  • Constants
  • Constants Used in Strings
  • Labels
  • Relative Jumps
  • Pages
  • Ordering
  • Page Options
  • Callbacks
  • Page
  • UninstPage
  • PageEx
  • PageExEnd
  • PageCallbacks
  • Sections
  • Section Commands
  • AddSize
  • Section
  • SectionEnd
  • SectionIn
  • SectionGroup
  • SectionGroupEnd
  • Uninstall Section
  • Functions
  • Function Commands
  • Function
  • FunctionEnd
  • Callback Functions
  • Install Callbacks
  • .onGUIInit
  • .onInit
  • .onInstFailed
  • .onInstSuccess
  • .onGUIEnd
  • .onMouseOverSection
  • .onRebootFailed
  • .onSelChange
  • .onUserAbort
  • .onVerifyInstDir
  • Uninstall Callbacks
  • un.onGUIInit
  • un.onInit
  • un.onUninstFailed
  • un.onUninstSuccess
  • un.onGUIEnd
  • un.onRebootFailed
  • un.onSelChange
  • un.onUserAbort
  • Installer Attributes
  • General Attributes
  • AddBrandingImage
  • AllowRootDirInstall
  • AutoCloseWindow
  • BGFont
  • BGGradient
  • BrandingText
  • Caption
  • ChangeUI
  • CheckBitmap
  • CompletedText
  • ComponentText
  • CRCCheck
  • DetailsButtonText
  • DirText
  • DirVar
  • DirVerify
  • FileErrorText
  • Icon
  • InstallButtonText
  • InstallColors
  • InstallDir
  • InstallDirRegKey
  • InstProgressFlags
  • InstType
  • LicenseBkColor
  • LicenseData
  • LicenseForceSelection
  • LicenseText
  • ManifestDPIAware
  • ManifestSupportedOS
  • MiscButtonText
  • Name
  • OutFile
  • RequestExecutionLevel
  • SetFont
  • ShowInstDetails
  • ShowUninstDetails
  • SilentInstall
  • SilentUnInstall
  • SpaceTexts
  • SubCaption
  • UninstallButtonText
  • UninstallCaption
  • UninstallIcon
  • UninstallSubCaption
  • UninstallText
  • WindowIcon
  • XPStyle
  • Compiler Flags
  • AllowSkipFiles
  • FileBufSize
  • SetCompress
  • SetCompressor
  • SetCompressorDictSize
  • SetDatablockOptimize
  • SetDateSave
  • SetOverwrite
  • Unicode
  • Version Information
  • VIAddVersionKey
  • VIProductVersion
  • VIFileVersion
  • Instructions
  • Basic Instructions
  • Delete
  • Exec
  • ExecShell
  • ExecShellWait
  • ExecWait
  • File
  • Rename
  • ReserveFile
  • RMDir
  • SetOutPath
  • Registry, INI, File Instructions
  • DeleteINISec
  • DeleteINIStr
  • DeleteRegKey
  • DeleteRegValue
  • EnumRegKey
  • EnumRegValue
  • ExpandEnvStrings
  • FlushINI
  • ReadEnvStr
  • ReadINIStr
  • ReadRegDWORD
  • ReadRegStr
  • WriteINIStr
  • WriteRegBin
  • WriteRegDWORD
  • WriteRegStr
  • WriteRegExpandStr
  • WriteRegMultiStr
  • SetRegView
  • General Purpose Instructions
  • CallInstDLL
  • CopyFiles
  • CreateDirectory
  • CreateShortcut
  • GetDLLVersion
  • GetDLLVersionLocal
  • GetFileTime
  • GetFileTimeLocal
  • GetFullPathName
  • GetTempFileName
  • SearchPath
  • SetFileAttributes
  • RegDLL
  • UnRegDLL
  • Flow Control Instructions
  • Abort
  • Call
  • ClearErrors
  • GetCurrentAddress
  • GetFunctionAddress
  • GetLabelAddress
  • Goto
  • IfAbort
  • IfErrors
  • IfFileExists
  • IfRebootFlag
  • IfSilent
  • IntCmp
  • IntCmpU
  • MessageBox
  • Return
  • Quit
  • SetErrors
  • StrCmp
  • StrCmpS
  • File Instructions
  • FileClose
  • FileOpen
  • FileRead
  • FileReadUTF16LE
  • FileReadByte
  • FileReadWord
  • FileSeek
  • FileWrite
  • FileWriteUTF16LE
  • FileWriteByte
  • FileWriteWord
  • FindClose
  • FindFirst
  • FindNext
  • Uninstaller Instructions
  • WriteUninstaller
  • Miscellaneous Instructions
  • GetErrorLevel
  • GetInstDirError
  • InitPluginsDir
  • Nop
  • SetErrorLevel
  • SetShellVarContext
  • Sleep
  • String Manipulation Instructions
  • StrCpy
  • StrLen
  • Stack Support
  • Exch
  • Pop
  • Push
  • Integer Support
  • IntFmt
  • IntOp
  • Reboot Instructions
  • Reboot
  • SetRebootFlag
  • Install Logging Instructions
  • LogSet
  • LogText
  • Section Management
  • SectionSetFlags
  • SectionGetFlags
  • SectionSetText
  • SectionGetText
  • SectionSetInstTypes
  • SectionGetInstTypes
  • SectionSetSize
  • SectionGetSize
  • SetCurInstType
  • GetCurInstType
  • InstTypeSetText
  • InstTypeGetText
  • User Interface Instructions
  • BringToFront
  • CreateFont
  • DetailPrint
  • EnableWindow
  • FindWindow
  • GetDlgItem
  • HideWindow
  • IsWindow
  • LockWindow
  • SendMessage
  • SetAutoClose
  • SetBrandingImage
  • SetDetailsView
  • SetDetailsPrint
  • SetCtlColors
  • SetSilent
  • ShowWindow
  • Multiple Languages Instructions
  • LoadLanguageFile
  • LangString
  • LicenseLangString
  • Multiple Languages
  • Language Selection
  • LangDLL Plug-in
  • RTL Languages
  • Plug-in DLLs
  • Using Plug-in Commands
  • Calling plug-ins manually
  • Silent Installers/Uninstallers
  • Chapter 5: Compile Time Commands
  • Compiler Utility Commands
  • !include
  • !addincludedir
  • !addplugindir
  • !appendfile
  • !cd
  • !delfile
  • !echo
  • !error
  • !execute
  • !makensis
  • !packhdr
  • !finalize
  • !system
  • !tempfile
  • !getdllversion
  • !warning
  • !pragma
  • !verbose
  • Predefines
  • ${__COUNTER__}
  • ${__FILE__}
  • ${__FILEDIR__}
  • ${__LINE__}
  • ${__DATE__}
  • ${__TIME__}
  • ${__TIMESTAMP__}
  • ${NSIS_VERSION}
  • ${NSIS_PACKEDVERSION}
  • ${NSIS_CHAR_SIZE}
  • ${NSIS_PTR_SIZE}
  • ${U+1}...${U+10FFFF}
  • Scope Predefines
  • ${__GLOBAL__}
  • ${__SECTION__}
  • ${__FUNCTION__}
  • ${__PAGEEX__}
  • ${__UNINSTALL__}
  • ${__MACRO__}
  • Read environment variables
  • $%envVarName%
  • Conditional Compilation
  • !define
  • !undef
  • !ifdef
  • !ifndef
  • !if
  • !ifmacrodef
  • !ifmacrondef
  • !else
  • !endif
  • !insertmacro
  • !macro
  • !macroend
  • !macroundef
  • !searchparse
  • !searchreplace
  • Appendix A: Modern User Interface
  • Appendix B: DLL/TLB Library Setup
  • Introduction
  • Library Installation
  • Introduction
  • Parameters
  • Options
  • LIBRARY_X64
  • LIBRARY_SHELL_EXTENSION
  • LIBRARY_COM
  • LIBRARY_IGNORE_VERSION
  • Notes
  • Example
  • Unshared DLL
  • Shared DLL
  • Library Uninstallation
  • Introduction
  • Parameters
  • Options
  • LIBRARY_X64
  • LIBRARY_SHELL_EXTENSION
  • LIBRARY_COM
  • Example
  • Visual Basic 6 Run-Time Files
  • Appendix C: Useful Scripts
  • Get Internet Explorer version
  • Is .NET Framework installed?
  • Is Macromedia Flash Player installed?
  • Connect to the Internet
  • Get Installer Filename
  • Prevent Multiple Instances
  • More
  • Appendix D: Useful Information
  • Error Levels
  • Add uninstall information to Add/Remove Programs
  • Calling an external DLL using the System.dll plug-in
  • Dump Content of Log Window to File
  • How to Read REG_MULTI_SZ Values
  • Predefined Macros for Unicode support
  • Appendix E: Useful Headers
  • File Functions Header
  • Introduction
  • Locate
  • GetSize
  • DriveSpace
  • GetDrives
  • GetTime
  • GetFileAttributes
  • GetFileVersion
  • GetExeName
  • GetExePath
  • GetParameters
  • GetOptions
  • GetOptionsS
  • GetRoot
  • GetParent
  • GetFileName
  • GetBaseName
  • GetFileExt
  • BannerTrimPath
  • DirState
  • RefreshShellIcons
  • Text Functions Header
  • Introduction
  • LineFind
  • LineRead
  • FileReadFromEnd
  • LineSum
  • FileJoin
  • TextCompare
  • TextCompareS
  • ConfigRead
  • ConfigReadS
  • ConfigWrite
  • ConfigWriteS
  • FileRecode
  • TrimNewLines
  • Word Functions Header
  • Introduction
  • WordFind
  • WordFindS
  • WordFind2X
  • WordFind2XS
  • WordFind3X
  • WordFind3XS
  • WordReplace
  • WordReplaceS
  • WordAdd
  • WordAddS
  • WordInsert
  • WordInsertS
  • StrFilter
  • StrFilterS
  • VersionCompare
  • VersionConvert
  • Appendix F: Changelog and Release Notes
  • 3.02
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 3.01
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 3.0
  • Release Notes
  • Changelog
  • Minor Changes
  • Translations
  • 3.0 Release Candidate 2
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 3.0 Release Candidate 1
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 3.0 Beta 3
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 3.0 Beta 2
  • Changelog
  • Major Changes
  • Minor Changes
  • Build System
  • 3.0 Beta 1
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 3.0 Beta 0
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • 3.0 Alpha 2
  • Release Notes
  • Known Issues
  • Changelog
  • Major Changes
  • Minor Changes
  • 3.0 Alpha 1
  • Release Notes
  • Known Issues
  • Changelog
  • Major Changes
  • Minor Changes
  • 3.0 Alpha 0
  • Release Notes
  • Known Issues
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 2.51
  • Changelog
  • Minor Changes
  • Translations
  • 2.50
  • Changelog
  • Major Changes
  • Minor Changes
  • 2.49
  • Changelog
  • 2.48
  • Changelog
  • 2.47
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • 2.46
  • Changelog
  • Minor Changes
  • Translations
  • Build System
  • 2.45
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Modern UI
  • Translations
  • Build System
  • 2.44
  • Changelog
  • Major Changes
  • Minor Changes
  • 2.43
  • Release Notes
  • Changelog
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Plug-in API
  • Build System
  • 2.42
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • Build System
  • 2.41
  • Changelog
  • Minor Changes
  • Translations
  • Build System
  • 2.40
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • 2.39
  • Changelog
  • Major Changes
  • Minor Changes
  • 2.38
  • Changelog
  • Major Changes
  • Minor Changes
  • Modern UI
  • Translations
  • 2.37
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translation
  • Build System
  • 2.36
  • Release Notes
  • Changelog
  • Major Changes
  • Modern UI
  • nsDialogs
  • Minor Changes
  • Utilities and Plug-ins
  • Translation
  • Build System
  • 2.35
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • 2.34
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.33
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.32
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.31
  • Release Notes
  • Changelog
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.30
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.29
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.28
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.27
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Build System
  • 2.26
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • New/Changed Commands
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.25
  • Changelog
  • Major Changes
  • Minor Changes
  • New/Changed Commands
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.24
  • Changelog
  • Major Changes
  • Minor Changes
  • New/Changed Commands
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.23
  • Changelog
  • Minor Changes
  • Utilities and Plug-ins
  • Build System
  • 2.22
  • Release Notes
  • Changelog
  • Minor Changes
  • New/Changed Commands
  • Translations
  • Build System
  • 2.21
  • Changelog
  • Major Changes
  • Minor Changes
  • New/Changed Commands
  • Translations
  • Build System
  • 2.20
  • Changelog
  • Minor Changes
  • Translations
  • Build System
  • 2.19
  • Changelog
  • Minor Changes
  • New/Changed Commands
  • Plug-ins
  • Translations
  • 2.18
  • Changelog
  • Minor Changes
  • Translations
  • 2.17
  • Changelog
  • Minor Changes
  • Translations
  • 2.16
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Translations
  • Build System
  • 2.15
  • Changelog
  • New/Changed Commands
  • Minor Changes
  • Translations
  • Build System
  • 2.14
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • 2.13
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.12
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.11
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • Translations
  • Build System
  • 2.10
  • Changelog
  • Major Changes
  • Minor Changes
  • Translations
  • Build System
  • 2.09
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Translations
  • Build System
  • 2.08
  • Release Notes
  • Changelog
  • Major Changes
  • Minor Changes
  • Build System
  • 2.07
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Include Files
  • Utilities and Plug-ins
  • Translations
  • 2.06
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • 2.05
  • Release Notes
  • Changelog
  • New/Changed Commands
  • Minor Changes
  • 2.04
  • Changelog
  • Major Changes
  • Minor Changes
  • 2.03
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • 2.02
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • 2.01
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • 2.0
  • Release Notes
  • Changelog
  • Changes from 1.98
  • Changes from RC4
  • 2.0 Release Candidate 4
  • Changelog
  • Major Changes
  • Minor Changes
  • Utilities and Plug-ins
  • 2.0 Release Candidate 3
  • Changelog
  • Minor Changes
  • Utilities and Plug-ins
  • 2.0 Release Candidate 2
  • Changelog
  • Minor Changes
  • Utilities and Plug-ins
  • 2.0 Release Candidate 1
  • Release Notes
  • Changelog
  • Major Changes
  • Utilities and Plug-ins
  • 2.0 Beta 4
  • Release Notes
  • Changelog
  • Major Changes
  • New/Changed Commands
  • Minor Changes
  • Utilities and Plug-ins
  • 2.0 Beta 3
  • 2.0 Beta 2
  • 2.0 Beta 1
  • 2.0 Beta 0
  • 2.0 Alpha 7
  • 2.0 Alpha 6
  • 2.0 Alpha 5
  • 2.0 Alpha 4
  • 2.0 Alpha 3
  • 2.0 Alpha 2
  • 2.0 Alpha 1
  • 2.0 Alpha 0
  • Older Versions
  • Appendix G: Building NSIS
  • Building in General
  • Building on Windows
  • Building on POSIX
  • Nightly Builds
  • Appendix H: Credits
  • Programmers
  • Testers
  • Designers
  • Translators
  • Writers
  • Appendix I: License
  • Copyright
  • Applicable licenses
  • zlib/libpng license
  • bzip2 license
  • Common Public License version 1.0
  • Special exception for LZMA compression module

Get in touch

Submit feedback about this site to:

  • [email protected]

© documentation.help. Design: rehmann.co.