NSIS - Skryptowy System Instalacji Nullsoft (Nullsoft Scriptable Install System) jest narzędziem, które pozwala programistom na stworzenie instalatora dla Windows. Rozprowadzany jest na licencji open source i jest całkowicie darmowy dla dowolnego zastosowania. Instalatory utworzone w NSIS pozwalają na instalowanie, deinstalowanie, zmianę systemowych ustawień, wyodrębnianie plików, itp. NSIS oparty jest 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.
Projekt NSIS PL ma na celu propagowanie wolnego oprogramowania, jego promocję oraz przybliżenie go polskiemu użytkownikowi. Niestety, często barierą nie do pokonania jest język angielski. Postanowiłem zatem spróbować zmierzyć się z zadaniem przetłumaczenia i udostępnienia polskiej wersji dokumentacji NSIS. Zabieg taki mam nadzieję spopularyzuje to świetne narzędzie.
Zapraszam zatem do zapoznania się z dokumentacją NSIS w wersji polskiej. Aktualna wersja zgodna jest z NSIS 3.x. Oprócz samego poradnika, który uczy tego, jak używać NSIS, dostępne są również przykłady oraz opisy poszczególnych wtyczek wchodzących w skład dystrybucji NSIS i rozszerzających jej możliwości. Celem polonizacji tych plików, jak już wspomniałem, jest popularyzacja tego świetnego, darmowego narzędzia. Mam nadzieję, że moja praca będzie komuś pomocna.
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 można krótko scharakteryzować, wymieniając jego najważniejsze właściwości.
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.