3. Sposób użycia linii poleceń

Ten dokument zgodny jest z NSIS 3.1



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'