NSIS obsługuje wtyczki, które mogą być wywoływane poprzez skrypt. Wtyczki są bibliotekami DLL napisanymi w języku C, C++, Delphi lub innym języku programowania. Wtyczki rozszerzają możliwości kodu NSIS.
Wywołanie wtyczki wygląda następująco:
NazwaDLL::NazwaFunkcji "parametr numer 1" "parametr numer 2" "parametr numer n"
Każda funkcja wtyczki może być wywołana z podaniem odpowiednich parametrów. Niektóre z nich ich nie wymagają, inne zaś mogą przyjmować ich tyle ile chcesz ich przekazać. Przykłady:
nsExec::ExecToLog '"${NSISDIR}\makensis.exe" /CMDHELP' Pop $0 ; kod wyjścia procesu lub "error" InstallOptions::dialog "$PLUGINSDIR\test.ini" Pop $0 ; success/back/cancel/error NSISdl::download http://download.nullsoft.com/winamp/client/winamp291_lite.exe $R0 Pop $0 ; "success" lub kod błędu
Wtyczki, które znane są systemowi NSIS wypisywane są zaraz po rozpoczęciu kompilacji w dzienniku kompilacji. NSIS szuka wtyczek w katalogu Plugins, który znajduje się się w folderze z zainstalowanym NSIS i wypisuje wszystkie ich dostępne funkcje. Możesz użyć polecenia !addplugindir, aby przekazać NSIS polecenie wyszukiwania wtyczek również w innym katalogu.
W ramach projektu System Information Tool oraz Winamp Information Tool stworzyłem kilka własnych wtyczek dla NSIS. Poniżej mamy ich opis (więcej informacji po kliknięciu w odnośniki):
Dystrybucja NSIS rozprowadzana jest z wieloma wtyczkami. Istnieje ich mnóstwo i przeznaczone są one do różnych zadań. Poniżej mamy opis kilku z tych, które wchodzą w skład dystrybucji (więcej informacji po kliknięciu w odnośniki):
Więcej wtyczek możesz znaleźć w sieci, pod tym adresem: NSIS Wiki.
Możesz również stworzyć wtyczki samemu. Z dystrybucją dostarczane są pliki nagłówkowe w języku C/C++ oraz Delphi. Zobacz przykład podstawowej wtyczki, który znajduje się w katalogu /Examples/Plugin/. Kod źródłowy załączonych wtyczek można również znaleźć w źródłach projektu NSIS.