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.09:
Use isolated uninstaller directory for every instance
Added !assert
Fixed !uninstfinalize bug on large uninstallers
Fixed creation of missing special folders on old Windows versions where SHGetFolderPath is not available
Fixed plug-in call overwriting SetDetailsPrint lastused
Fixed !appendfile not writing to non-empty files with a BOM
Fixed LogicLib ${Switch} Unicode bug
Fixed MakeNSISW editor zoom level bug
Updated Brazilian Portuguese
Updated Ukrainian
Fixed halibut compiler warnings
Fixed various issues with very old and new GCC versions
Disable stub relocations in newer GCC
(Freeware) x86