Nullsoft Scriptable Install System
Modèle:Infobox Software Nullsoft Scriptable Install System (NSIS), est un logiciel libre controlable par script permettant la création d'installateur pour Windows. Il a été initialement développé par Nullsoft, le créateur de Winamp. NSIS est souvant présenté comme une alternative a des produits comme InstallShield.
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.
NSIS version 1 is in many ways similar to the classic Windows Installer, but it is more easily scriptable and supports more compression formats. NSIS version 2 has a new streamlined graphical user interface, supports LZMA compression, multiple languages, and an easy plugin system.
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 program 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

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.
# Modern UI example cript !include MUI.nsh Name "Example 2" OutFile Example2.exe !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "license.rtf" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "French" Section "Extract makensis" SetOutPath $INSTDIR File ..\makensis.exe SectionEnd
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 called with a single line of NSIS 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
- Very small overhead
- zlib, bzip2, and LZMA compression
- Script-based
- Multilingual
- Plugin support
- Script preprocessor
- More...
Notable products that use NSIS
- Mozilla Firefox 2.0
- Winamp
- ATI Display Driver
- DivX
- Kaspersky AntiVirus
- eMule
- Irfanview
- 7-Zip
- Miranda IM
- Gaim
- GRAMPS
- CDex
- VLC Player
- OpenOffice.org for Windows
- Intel (C Compiler)
- Google (Picasa, Talk)
- FileZilla
- NASA World Wind
- LyX
- More ...
External links
- NSIS homepage (wiki containing information, examples, plugins and more)
- NSIS SourceForge project page
- SourceForge.net Project of the Month in January 2006
- HM NIS EDIT (a free NSIS editor/IDE)
- Venis (Visual Environment for Nullsoft Install System)
- Mihov's freeware NSIS editor
- EclipseNSIS (editing, compiling and testing NSIS scripts in Eclipse)
- ExperienceUI for NSIS (fully skinned user interface)
- Notepad2 (Windows Notepad replacement with NSIS language highlighting)