Original author(s) | Nullsoft |
---|---|
Developer(s) | NSIS Team and NSIS Community |
Initial release | 31 July 2000[1] |
Stable release | 3.09
/ 1 July 2023 |
Repository | |
Written in | C, C++ |
Operating system | Windows, Mac OS X |
Type | Software development tools |
License | zlib License |
Website | nsis |
Nullsoft Scriptable Install System (NSIS) is a script-driven installer authoring tool for Microsoft Windows backed by Nullsoft, the creators of Winamp. NSIS is released under a combination of free software licenses, primarily the zlib license.[2] It has become a widely used alternative to commercial proprietary products like InstallShield, with users including Amazon, Dropbox, Google, Ubisoft, FL Studio, BitTorrent, and McAfee.[3]
History
NSIS was created to distribute Winamp.[4] 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 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 supports more compression formats. NSIS version 2 features a new streamlined graphical user interface and supports LZMA compression, multiple languages, and an easy-to-use plugin system.
In January 2006 NSIS was SourceForge's project of the month.[5][6]
Example code
!include "MUI.nsh"
!define MUI_ABORTWARNING # This will warn the user if they exit from the installer.
!insertmacro MUI_PAGE_WELCOME # Welcome to the installer page.
!insertmacro MUI_PAGE_DIRECTORY # In which folder install page.
!insertmacro MUI_PAGE_INSTFILES # Installing page.
!insertmacro MUI_PAGE_FINISH # Finished installation page.
!insertmacro MUI_LANGUAGE "English"
Name "MyApp" # Name of the installer (usually the name of the application to install).
OutFile "MyAppInstaller.exe" # Name of the installer's file.
InstallDir "$PROGRAMFILES\MyApp" # Default installing folder ($PROGRAMFILES is Program Files folder).
ShowInstDetails show # This will always show the installation details.
Section "MyApp" # In this section add your files or your folders.
# Add your files with "File (Name of the file)", example: "File "$DESKTOP\MyApp.exe"" ($DESKTOP is Desktop folder); or add your folders always with "File (Name of the folder)\*", always add your folders with an asterisk, example: "File /r $DESKTOP\MyApp\*" (this will add its files and (with /r its subfolders)).
SectionEnd
Plugins
NSIS can be extended with plugins that can communicate with the installer. Plugins can be written in any unmanaged programming language capable of building a dynamic-link library (such as C, C++ or Delphi), and they can be used to perform installation tasks or extend the installer interface. A plugin can be called with a single line of NSIS code.
Generated installer
The generated installer is a Portable Executable, with the installation files archived within the installer, a 34 KB overhead for the NSIS installer,[7] and the installation script compiled into executable code. As the installation script is compiled, the script cannot be obtained from the delivered executable without reverse-engineering the binary.
See also
References
- ↑ NSIS 1.x Version History – NSIS wiki
- ↑ "NSIS licence page". NSIS.
- ↑ "Users – NSIS".
- ↑ Winamp 2.60 released, From Betanews, 2000-02-14, Tweakers, ...namely featuring a new 'SuperPiMP' installation system...
- ↑ SourceForge.net Project of the Month in January 2006
- ↑ "OpenCandy Installer Platform Comparison". Archived from the original on 27 June 2011. Retrieved 27 June 2011.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ↑ "Features". NSIS.