Pierwszym doświadczeniem użytkownika z twoją aplikacją jest instalator. Powolna lub zakończona niepowodzeniem instalacja jest jednym z najbardziej irytujących problemów komputerowych. Niewątpliwie, szybki i przyjazny użytkownikowi instalator jest nieodłączną częścią oprogramowania, które tworzysz.
NSIS (Nullsoft Scriptable Install System) jest narzędziem, które pozwala programistom na stworzenie takich instalatorów dla Windows. Rozprowadzany jest na licencji open source i jest całkowicie darmowy dla dowolnego zastosowania.
NSIS tworzy instalatory, które pozwalają na instalowanie, deinstalowanie, zmianę systemowych ustawień, wyodrębnianie plików, itp. Jako, że oparty jest on na skryptach, możesz w pełni kontrolować każdą część instalatora. Zastosowany język skryptowy obsługuje zmienne, funkcje oraz manipulowanie łańcuchami znaków, tak jak normalne języki programowania - ale zaprojektowany jest specjalnie do tworzenia instalatorów. Nawet z tymi wszystkimi możliwościami, NSIS jest wciąż najmniejszym dostępnym systemem instalowania. Przy domyślnych opcjach, nagłówek zajmuje zaledwie 34 KB.
Od wersji NSIS 3 możesz również tworzyć instalatory Unicode. Wspierają one wszystkie języki obsługiwane przez system operacyjny, dzięki czemu nie będzie żadnych problemów z ich poprawnym wyświetlaniem.
NSIS jest szybki i wydajny, a przy tym zajmuje mało miejsca. Podczas, gdy inne instalatory często dodają setki kilobajtów lub kilka megabajtów do danych twojego instalatora, w pełni funkcjonalny instalator NSIS posiada nagłowek o rozmiarze tylko 34 KB.
Możesz stworzyć instalator, który jest kompatybilny z Windows 95, 98, ME, NT4, 2000, XP, 2003, Vista, Server 2008, 7, Server 2008R2, 8, Server 2012, 8.1, Server 2012R2 oraz Windows 10.
Możesz wybierać pomiędzy trzema różnymi zintegrowanymi metodami kompresji (ZLib, BZip2, LZMA). Nowa metoda kompresji LZMA daje lepsze wyniki niż jakakolwiek inna metoda. Nie musisz używać dużych samorozpakowujących się modułów archiwum lub innych aplikacji. Obsługa kompresji wbudowana jest w 34 KB nagłówku.
W przeciwieństwie do innych systemów, które mogą tylko generować instalatory w oparciu o listę plików i klucze rejestru, NSIS posiada wbudowany potężny język skryptowy. Język ten jest zaprojektowany dla instalatorów i posiada polecenia, które pomagają ci w wykonaniu wielu zadań instalacji. Możesz łatwo dodać własne i wykorzystać różne uaktualnienia, sprawdzanie wersji i inne. Na stronie NSIS Wiki możesz znaleźć wiele więcej.
Jeden instalator może obsługiwać wielojęzykowy interfejs. Więcej niż 60 tłumaczeń jest już załączonych. Możesz stworzyć swój własny plik językowy. Języki RTL (z prawej na lewo), takie jak Arabski i Hebrajski są w pełni obsługiwane. Możliwe jest również tworzenie natywnych instalatorów Unicode, które wspierają jeszcze więcej języków.
Język skryptowy udostępnia polecenia, które możesz użyć na docelowym systemie. Może to być np. tworzenie katalogu lub edycja rejestru, ale także na przykład modyfikacje plików tekstowych/binarnych, modyfikacje zmiennych środowiskowych czy ponowne uruchomienie komputera. Używając jednej z dostarczanych wtyczek możesz nawet bezpośrednio wywoływać funkcje Windows API.
Możesz stworzyć własne okna kreatora instalacji, by wspomóc interakcje z użytkownikiem lub zintegrować opcje konfiguracji. NSIS zawiera klasyczne i nowoczesne interfejsy kreatora instalacji, lecz istnieje też możliwość tworzenia własnego interfejsu.
Możliwości NSIS mogą być rozszerzane poprzez użycie wtyczek, współpracujących z instalatorem. Mogą one być napisane w języku C, C++, Delphi lub innym języku programowania i mogą być użyte do wykonywania zadań instalacji lub rozszerzenia interfejsu instalatora. Wtyczkę możesz użyć wstawiając do skryptu zaledwie jedną linię kodu. Wtyczki mogą być również kompresowane jak pozostałe składniki instalatora i zostaną tylko wtedy do niego dołączone, jeśli użyjesz określonej funkcji oferowanej przez tę wtyczkę.
Dystrybucja NSIS zawiera zbiór wtyczek, które pozwalają na pobieranie plików z internetu, łączenie z internetem, łatanie istniejących plików i wiele więcej.
Kompilator NSIS posiada potężny preprocesor. Pozwala to na łatwą integrację wielu projektów w jednym instalatorze lub automatyczne generowanie instalatorów. Możesz również wygenerować różne wydania, takie jak na przykład wersje Lite (podstawowe) oraz Full (pełne).
Formaty skryptów NSIS oraz używanego w oknach dialogowych interfejsu są łatwe, udokumentowane i proste w odbiorze, więc możesz edytować swoje pliki w swoim ulubionym edytorze. Pozwala to także na automatyczne generowanie skryptów.
Poczynając od wersji NSIS 3.0 możesz tworzyć instalatory Unicode ustawiając atrybut Unicode. Instalatory te nie będą działać w starszych wersjach Windows (95/98/ME), ale umożliwiają one obsługę dowolnego języka Unicode obsługiwanego przez system operacyjny.
Tworząc instalator Unicode zmienne NSIS mogą przechowywać znaki Unicode (z zakresu 0001-FFFF). Nie jest wymagana modyfikacja istniejących skryptów. Aby umożliwić odczyt lub zapis plików Unicode dodano specjalne instrukcje obsługujące odczyt z dysku/zapis na dysku łańcuchów znaków UTF-16LE.