Nullsoft Scriptable Install System

This is an old revision of this page, as edited by Kichik (talk | contribs) at 18:55, 26 August 2005 (2.09). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Nullsoft Scriptable Install System (NSIS), is an open-source (⁠zlib/libpng license), script-driven installation system with minimal overhead being 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 plug-in system. The NSIS script compiler compiles on POSIX platforms.

Nullsoft Scriptable Install System
Developer(s)Nullsoft
Stable release
2.09 / August 26, 2005
Repository
Operating systemWindows, POSIX
TypeSoftware development tools
License⁠zlib/libpng license
Websitensis.sf.net

History

NSIS was created because of the need to distribute Winamp. It is based on PiMP (Plug-In 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. After almost two years of alphas, betas and release candidates, NSIS 2.0 was released.

POSIX

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, makensis, compiles scripts into installers. Each line contains one command.

# example script
Name "Example1"
OutFile "example1.exe"
InstallDir $PROGRAMFILES\Example1
Page directory
Page instfiles
Section
  SetOutPath $INSTDIR
  File ..\makensis.exe
SectionEnd

Modern UI

 
NSIS 1.98

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. They can be written in C, C++ and Delphi and can be used to perform installation tasks or extend the installer interface. The plugins can be used with a single line of script code.

Several plug-ins come with the NSIS package allowing to display a splash screen, display a custom page, display an image on the background, download files from a website, perform mathematical operations, patching files and more.

Other plug-ins are available online. These include ZipDLL and Python plug-in.

Features