NSIS 3.08 (Nullsoft Scriptable Install System)
NSIS (Nullsoft Scriptable Install System) is a small, efficient, capable, professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.
Being a user’s first experience with your product, a stable and reliable installer is an important component of succesful software. With NSIS you can create such installers that are capable of doing everything that is needed to setup your software.
NSIS is script-based and allows you to create the logic to handle even the most complex installation tasks. Many plug-ins and scripts are already available. You can create web installers, communicate with Windows and other software components. Also you can install or update shared components and more.
NSIS (Nullsoft Scriptable Install System) Features:
- Generates self-contained executable installers
- Support for ZLib, BZip2 and LZMA data compression
- Uninstall support (installer can generate an uninstaller)
- Customizable user interface (dialogs, fonts, backgrounds, icons, text, checkmarks, images etc.)
- Classic and Modern wizard interface
- Fully multilingual, support for multiple languages (including RTL languages) in one installer. More than 40 translations are already available, but you can also create your own.
- Page system. You can add standard wizard pages or custom pages
- User selection of installation components, tree for component selection
- Multiple install configurations (usually Minimal, Typical, Full), and custom configuration
- Installer self-verification using a CRC32 checksum
- Small overhead over compressed data size (34 KB with default options)
- Ability to display a license agreement in text or RTF format
- Ability to detect destination directory from the registry
- Easy to use plug-in system. Lots of included plug-ins for creation of custom dialogs, internet connections, HTTP downloading, file patching, Win32 API calls, etc.
- Installers can be as large as 2GB
- Optional silent mode for automated installations
- A preprocessor with support for defined symbols, macros, conditional compilation, standard predefines
- A lovely coding experience with elements of PHP and assembly. Includes user variables, a stack, real flow control, etc.
Installers have their own VMs that let you write code that can support:
- File extraction (with configurable overwrite parameters)
- File/directory copying, renaming, deletion, searching
- Plug-in DLL calling
- DLL/ActiveX control registration/unregistration
- Executable execution (shell execute and wait options)
- Shortcut creation
- Registry key reading/setting/enumerating/deleting
- INI file reading/writing
- Generic text file reading/writing
- Powerful string and integer manipulation
- Window finding based on class name or title
- User interface manipulation (font/text setting)
- Window message sending
- User interaction with message boxes or custom pages
- Branching, comparisons, etc.
- Error checking
- Reboot support, including delete or rename on reboot
- Installer behavior commands (such as show/hide/wait/etc.)
- User functions in script
- Callback functions for user actions
Changes in NSIS (Nullsoft Scriptable Install System) 3.08:
- Added !uninstfinalize
- Added
$USER..
and$COMMON..
alias constants - Added GetDLLVersion /ProductVersion switch
- Added GetWinVer instruction
- Disallow start maximized mode
- Added /LAUNCH compiler switch
- PEAddResource now supports the res:// protocol
- System::Store can push/pop the flags state
Changes in NSIS (Nullsoft Scriptable Install System) 3.07:
- Unicode is now the default.
- Added nsExec /MBCS switch
- Memento now supports overridable storage macros
- Fixed Unicode compiler crash
- Fixed !addplugindir relative path bug
- Fixed StrClb Unicode bug
- Fixed ${GetTime} hour padding
- Updated Albanian (patch #303), Corsican and Japanese (maboroshin PR)
- Fixed clipped Chinese text
Changes in NSIS (Nullsoft Scriptable Install System) 3.06.1:
- Fixed SetBrandingImage crash
Changes in NSIS (Nullsoft Scriptable Install System) 3.06:
Major Changes
DeleteRegKey /ifempty
now also checks for values, not just subkeys. Use/ifnosubkeys
for the old behavior.- Added GetKnownFolderPath
- Added UnpinShortcut macro (Integration.nsh)
Minor Changes
- Added IfShellVarContextAll and IfRtlLanguage
- Added
!define /intfmt
- Added Date/Time nsDialogs controls and macros
- MultiUser: Fixed INSTALLMODE_FUNCTION and added INSTALLMODEPAGE_SHOWUSERNAME
Translations
- Updated German (SebStange PR) and Simplified Chinese
Build System
- Primitive SOURCE_DATE_EPOCH support
- Python 3 fixes
- GCC 10 memmove workaround
Changes in NSIS (Nullsoft Scriptable Install System) 3.05:
Major Changes
- Added PEAddResource and PERemoveResource
- Added LoadAndSetImage
- Allow quoted library path in System::Call
- Improved nsExec Unicode and tab output parsing
Minor Changes
- Added experimental ManifestLongPathAware attribute
- %1 in !finalize command can be specified multiple times
- Fixed -O stderr stream issue
- Fixed InstallLib .NSI space-in-path bug
- StrFunc now supports a “using” idiom to help with forward-declaration of functions
- Added SectionInstType
- Zero uninitialized data in icon group
- Automatically doubles ampersands in the Name attribute
- Fixed nsDialogs CB/LB_Get/SetItemData macros
Translations
- Updated Hindi and Portuguese
Homepage – https://nsis.sourceforge.io