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
- 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
- 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
- SetRegView
- 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
- !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.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