Nullsoft Scriptable Install System

This is an old revision of this page, as edited by Med- (talk | contribs) at 15:31, 18 January 2006 (External link). 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, 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 graphical user interface, supports LZMA compression, multiple languages, and an easy plugin system. The NSIS script compiler compiles on POSIX platforms.

Nullsoft Scriptable Install System
Developer(s)Nullsoft
Stable release
Repository
Operating systemWindows, POSIX
TypeSoftware development tools
Licensezlib/libpng license
Websitensis.sf.net

History

NSIS was created to distribute Winamp. It is based on a previous Nullsoft product, PiMP (plugin Mini Packager), 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 User Interface

 
NSIS 1.98

Version 2.0 introduced a new optional streamlined graphical user interface called Modern UI (MUI). The MUI has a wizard-like interface. It supports a welcome page, finish page, language selection dialog, description area for components, and greater customization options than the old user interface.

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