**Nullsoft Scriptable Install System** (NSIS) on avatud lähtekoodiga Microsoft Windows platvormile tehtud süsteem paigalduspakkide valmistamiseks. Selle töötas välja Nullsoft, mis oli omakorda rajatud Winampi poolt. NSIS on loodud alternatiiviks kommertstoodete jaoks mõeldud InstallShieldile.

Ajalugu
-------

NSIS oli loodud Winampi levitamiseks. See põhineb varasemal tootel Nullsoft – PiMP (plugin Mini Packager), mis on tuntud ka kui SuperPiMP. Pärast 2.0a0 versiooni koliti projekt SourceForge.net keskkonda, kus arendamisega liitusid ka välised arendajad. NSIS 2.0 anti välja 2 aastat hiljem.
Esimese versiooni NSIS oli väga klassikalise Windows Installeri sarnane, aga see oli tänu skriptidele juhitavam ning see toetaks ka teisi arhiivimisvorminguid. Teise versiooni NSIS toetas uut graafilist kasutajaliidest,LZMA- tihendust, mitmekeelsust ja omas head pluginasüsteemi.

### Posix

Versioon 2.01 oli esimene versioon, mis toetas kompileerimist igal POSIX-platvormil. See võimaldas luua Windowsi installereid GNU/Linux ja FreeBSD jaoks, kasutamata Wine emulaatorit. Seni toetati kompileerimist ainult Windowsis.

Skript
------

NSIS kompilaator – ’’makensis’’ programm – kompileerib skripte kasutatavasse koodi. Iga skripti rida sisaldab üht käsku.
Näide:

```
 # Skripti näide
 Name "Example1"
 OutFile "example1.exe"
 InstallDir "$PROGRAMFILES\Example1"
 Page Directory
 Page InstFiles
 Section
 SetOutPath $INSTDIR
 File ..\makensis.exe
 SectionEnd

```

Modern User Interface
---------------------

Versioonis 2.0 oli võetud kasutusele uus graafiline kasutajaliides, mille nimeks sai Modern UI (MUI). MUI on masterite liidesega sarnane, ta toetab splash-avakuva, keele valikut, installitavate komponentide valikut ning palju laialdasemaid seadistamise võimalusi võrreldes oma eelkäijaga.
Näide:

```
 # Skripti näide Modern UI-ga
 !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

```

Pluginad
--------

NSIS-st on võimalik täiendada mitmesuguste pluginatega, mis võivad olla kirjutatud C++, C-s ja Delphis. Pluginaid võib kasutada installeri liidese ja funktsionaalsuse parendamiseks ning neid võib välja kutsuda igas NSIS-i skripti osas.
NSIS-i paketiga tarnitakse mitmeid pluginaid, mis võimaldavad lisada uusi lehekülgi, vahetada tausta, Internetist faile alla laadida, teha matemaatikatehteid, uuendada faile ja teha palju muudki.

Iseärasused
-----------

* Väga väike installimisplokk (ligi 34 kB);
* zlib-, bzip2- ja LZMA-tihendus;
* Painduv skriptide süsteem;
* Mitmekeelsus;
* Pluginate tugi;
* Skript Preprotsessor;
* Veebiinstallerite loomine.

Programmid ja mängud, mis kasutavad NSIS-i
------------------------------------------

|  |  |  |
| --- | --- | --- |
| * Kaspersky Antiviirus
* 7-Zip
* ATI Display Driver
* CDex
* Dev-C++
* DivX
* eMule
* EVE Online
* FileZilla
 | * FL Studio
* Google Picasa
* Google Talk
* Hedgewars
* Intel C (kompileerija)
* IrfanView
* LyX
* Miranda IM
* Mozilla Firefox 2.0
 | * NASA World Wind
* Notepad++
* OpenOffice.org Windowsi jaoks
* OpenVPN
* Pidgin
* Qt SDK
* VLC Player
* Winamp
 |

Redaktorid
----------

NSIS-i skriptid on iseenesest tavalised tekstifailid ja neid saab moodustada ükskõik millise tekstiredaktori abil. Sellegipoolest on välja töötatud ka spetsiaalseid programme, mis kergendavad skriptide loomise protsessi:

* Projekt EclipseEnsis SourceForge.net websaidil – plugin Eclipse'i jaoks, mis võimaldab redigeerida, kompileerida ja testida NSIS-i skripte;
* HM NIS EDIT – NSIS-redaktor/IDE;
* Venis – visuaalne keskkond NSIS-i jaoks.

NSIS Media Malware
------------------

NSIS-i nime kannab ka ettevõte, mis tegeleb kuritahtliku tarkvara levitamisega (kahjulikud programmid). Eeldatavalt võttis ettevõte sellise nime, et näida soliidsem ja legaalsem, aga see osutus kahjulikuks NSIS-i installeri reputatsioonile, millel pole kuritahtliku tarkvaraga mingit pistmist. Osa kasutajatest kinnitas, et kõik NSIS-iga tehtud distributsioonid sisaldavad vastavat pahavaralist kahjulikku programmi. Tegelikult sõltub kahjuliku koodi olemasolu distributsiooni loojast ja levitamise kanalitest.

Viited
------

1. ↑  Features – NSIS
2. ↑  Users – NSIS

Välislingid
-----------

* Projekt EclipseEnsis SourceForge.neti veebisaidil
* NSIS Projekti lehekülg SourceForge'i veebisaidil
* Kuu projekt SourceForge.net jaanuar 2006
* Mihov’s freeware NSIS editor
* ExperienceUI for NSIS – kestade tugi