Nullsoft Scriptable Install System (NSIS), is an open source, script-driven installation system with minimal overhead backed by Nullsoft, creators of Winamp. NSIS 1 is in many ways similar to the classic Windows installer, but it is more easily scriptable and supports more compression formats. NSIS 2 has a new streamlined GUI, supports LZMA compression, multiple languages and an easy plugin system. The NSIS script compiler compiles on POSIX platforms.
Nullsoft Scriptable Install System | |
---|---|
![]() NSIS Installer | |
Developer(s) | Nullsoft |
Stable release | |
Repository | |
Operating system | Windows, POSIX |
Type | Software development tools |
License | zlib/libpng license |
Website | nsis.sf.net |
History
NSIS was created to distribute Winamp. It is based on PiMP (plugin Mini Packager), also a Nullsoft creation, and is also known as SuperPiMP. After version 2.0a0, the project was moved to SourceForge where developers outside of Nullsoft started working on it on a regular basis. NSIS 2.0 was released approximately two years later.
POSIX
Version 2.01 was the first version to compile on POSIX platforms out of the box. This allows cross-compilation of Windows installers on Linux and FreeBSD without the usage of WINE. Currently, the only supported hardware platform is x86.
Concepts
Script
The NSIS compiler programs makensis compiles scripts like the following example into executable installation programs. Each line in the script contains a single command.
# example script Name "Example1" OutFile "example1.exe" InstallDir $PROGRAMFILES\Example1 Page directory Page instfiles Section SetOutPath $INSTDIR File ..\makensis.exe SectionEnd
Modern UI
Version 2.0 introduced a new optional streamlined GUI called Modern UI (MUI). The MUI has a wizard-like interface. It supports a welcome, finish page, language selection dialog, description area for components and greater customization options than the old GUI.
Plugins
NSIS can be extended with plugins that can communicate with the installer. Plugins can be written in C, C++, and Delphi, and can be used to perform installation tasks or extend the installer interface. A plugin can be activated with a single line of script code.
Several plugins come with the NSIS package that permit the installer to display a splash screen, display a custom page, display an image on the background, download files from a website, perform mathematical operations, patch files, and more.
Other plugins are available online, including ZipDLL, and a Python plugin.
Features
External link
- NSIS homepage
- NSIS SourceForge project page
- NSIS Wiki (information, examples, plugins)