Nullsoft Scriptable Install System

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. 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. 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. 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 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 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. Väga väike installimisplokk (ligi 34 kB); zlib-, bzip2- ja LZMA-tihendus; Painduv skriptide süsteem; Mitmekeelsus; Pluginate tugi; Skript Preprotsessor; Veebiinstallerite loomine. 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-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. Features – NSIS Users – NSIS 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