3.1 Sposób użycia programu MakeNSIS
Instalatory NSIS generowane są przez program MakeNSIS w wyniku kompilacji skryptu NSIS (o rozszerzeniu .NSI) do pliku wykonywalnego. Podczas instalacji środowiska NSIS ustawiana jest opcja, dzięki której możesz kompilować pliki skryptów .nsi. Klikając w Eksploratorze Windows prawym klawiszem myszy na pliku o tym rozszerzeniu uzyskujemy dostęp do opcji 'Kompiluj skrypt NSIS'.
Jeśli chcesz używać programu MakeNSIS poprzez linię poleceń, składnia polecenia wygląda następująco:
makensis [opcja | skrypt.nsi | - [...]]
3.1.1 Opcje
- /LICENSE - wyświetla stronę licencji.
- /V - Przełącznik ten (uzupełniony liczbą z zakresu 0 do 4) ustawia poziom szczegółowości danych na wyjściu.
- 0 = brak komunikatów na wyjściu
- 1 = tylko błędy
- 2 = ostrzeżenia oraz błędy
- 3 = informacje, ostrzeżenia oraz błędy
- 4 = wszystkie komunikaty
- /P - Przełącznik ten (uzupełniony liczbą z zakresu 0 do 5) ustawia priorytet procesu kompilatora.
- 0 = bezczynny
- 1 = poniżej normalnego
- 2 = normalny (domyślny)
- 3 = powyżej normalnego
- 4 = wysoki
- 5 = czasu rzeczywistego
- /O - Przełącznik ten uzupełniony nazwą informuje kompilatora, aby przekierował komunikaty dziennika do pliku o tej nazwie (zamiast na ekran)
- /PAUSE - Wstrzymuje program makensis przed zakończeniem działania, co jest użyteczne przy uruchamianiu bezpośrednio z Windows
- /NOCONFIG - Wyłącza dołączanie pliku nsisconf.nsh. Bez tego parametru, domyślne opcje instalatora pobierane są z pliku nsisconf.nsh
- /CMDHELP - Wyświetla podstawowe informacje o sposobie użycia poleceń (jeśli są określone), lub wszystkich poleceń (jeśli polecenie nie jest określone)
- /HDRINFO - Wyświetla na wyjściu informacje o opcjach jakie zostały użyte przy kompilacji
- /NOCD - Wyłącza zmianę bieżącego katalogu na ten z pliku .nsi
- /INPUTCHARSET - Umożliwia określenie wybranej strony kodowej dla plików bez znacznika BOM (ACP|OEM|CP#|UTF8|UTF16<LE|BE>)
- /OUTPUTCHARSET - Umożliwia określenie wybranej strony kodowej używanej przez standardowe wyjście stdout, gdy wyjście jest przekierowywane (ACP|OEM|CP#|UTF8[SIG]|UTF16<LE|BE>[BOM])
- /PPO lub /SAFEPPO - Uruchamia tylko preprocesor i wypisuje wyniki do standardowego wyjścia stdout. Wersja bezpieczna (safe) nie uruchomi takich instrukcji jak !appendfile lub !system. Instrukcje !packhdr oraz !finalize nie są nigdy wykonywane
- /WX - Ostrzeżenia traktowane są jak błędy
- /D - Użycie tego przełącznika (raz lub kilka razy) dodaje parametr do symboli globalnej listy (Patrz !define)
- /X - Użycie tego przełącznika (raz lub kilka razy) wykonuje fragment kodu, który określisz. Na przykład: "/XAutoCloseWindow false"
- Nadając skryptowi nazwę "-", informujemy kompilator makensis, aby użył standardowego wejścia jako źródła.
3.1.2 Uwagi
- Parametry przetwarzane są w odpowiedniej kolejności. Zapis: makensis /Ddef skrypt.nsi nie jest tym samym co zapis: makensis skrypt.nsi /Ddef.
- Jeśli wybranych jest kilka skryptów, traktowane są one jako jeden połączony.
- W systemach Windows 95, 98 oraz NT, priorytety procesu poniżej normalnego oraz powyżej normalnego nie są dostępne. W tych systemach, priorytet poniżej normalnego ustawia priorytet na bezczynny, zaś powyżej normalnego na wysoki.
3.1.3 Zmienne środowiskowe
Makensis sprawdza liczbę zmiennych środowiskowych, które informują o lokalizacji elementów wymaganych do stworzenia instalatora. Do tych zmiennych zaliczamy:
- NSISDIR, NSISCONFDIR - miejsca, do których instalowane są dane nsis oraz pliki konfiguracyjne. NSISDIR odzwierciedla zmienną skryptu ${NSISDIR}. Więcej informacji znajduje się tutaj: Stałe.
- APPDATA (na platformie Windows) lub HOME (na innych platformach) - Lokalizacja pliku konfiguracyjnego użytkownika.
3.1.4 Przykłady
Podstawowe użycie:
makensis.exe mójskrypt.nsi
Tryb cichy:
makensis.exe /V1 mójskrypt.nsi
Ustawienie metody kompresji:
makensis.exe /X"SetCompressor /FINAL lzma" mójskrypt.nsi
Zmiana zachowania skryptu:
makensis.exe /DUSE_UPX /DVERSION=1.337 /DNO_IMAGES mójskrypt.nsi
Kolejność parametrów:
makensis /XSection zawartoscsekcji.nsi /XSectionEnd
3.2 Sposób użycia instalatora
Wygenerowane instalatory oraz deinstalatory akceptują kilka opcji poprzez linię poleceń. Opcje te dają użytkownikowi trochę większą kontrolę nad procesem instalacji.
3.2.1 Opcje wspólne
- /NCRC - wyłącza sprawdzanie sum kontrolnych CRC, jeśli nie użyto polecenia CRCCheck force w skrypcie.
- /S - uruchamia instalatora lub deinstalatora w trybie cichym. Więcej informacji znajdziesz tutaj: Ciche instalatory/deinstalatory.
- /D - ustawia domyślny katalog instalacji ($INSTDIR), ignorując polecenia InstallDir oraz InstallDirRegKey. Musi to być ostatni parametr wpisany w linii poleceń i nie może zawierać żadnych znaków cudzysłowia, nawet w przypadku gdy ścieżka dostępu zawiera spacje. Obsługiwane są tylko ścieżki bezwzględne.
3.2.2 Opcje deinstalatora
- _?= ustawia $INSTDIR. Także, zabrania deinstalatorowi kopiowania siebie do katalogu tymczasowego oraz jego uruchomienia z tej lokalizacji. Może być użyte wraz z poleceniem ExecWait, które oczekuje na zakończenie pracy deinstalatora. Musi to być ostatni parametr wpisany w linii poleceń i nie może zawierać żadnych znaków cudzysłowia, nawet w przypadku gdy ścieżka dostępu zawiera spacje.
3.2.3 Przykłady
installer.exe /NCRC
installer.exe /S
installer.exe /D=C:\Program Files\NSIS
installer.exe /NCRC /S /D=C:\Program Files\NSIS
uninstaller.exe /S _?=C:\Program Files\NSIS
# deinstalacja starszej wersji
ExecWait '"$INSTDIR\uninstaller.exe" /S _?=$INSTDIR'