Wtyczka nsExec wykonuje programy uruchamiane w linii poleceń i przechwytuje ich wyjście. Okno DOS nie jest wyświetlane.
nsExec::Exec [/MBCS] [/OEM] [/TIMEOUT=x] ścieżka_dostępu Pop $0 -lub- nsExec::ExecToLog [/MBCS] [/OEM] [/TIMEOUT=x] ścieżka_dostępu Pop $0 -lub- nsExec::ExecToStack [/MBCS] [/OEM] [/TIMEOUT=x] ścieżka_dostępu Pop $0 ; Zwracana wartość (Return) Pop $1 ; Wyjście (Output)
Funkcja ExecToLog wydrukowuje wyjście do okna dziennika, zaś funkcja ExecToStack odkłada wyjście na stos w ilości ograniczonej przez ${NSIS_MAX_STRLEN} (wpierw odkładana jest zwracana wartość).
Użyj przełącznika /MBCS, aby wyłączyć detekcję kodowania Unicode (tekst traktowany jest zawsze jako ANSI).
Użyj przełącznika /OEM, aby skonwertować wyjściowy tekst z OEM na ANSI.
Parametr Timeout jest opcjonalny. Timeout jest czasem (w milisekundach), podczas którego wtyczka nsExec oczekuje na wyjście. Jeśli odebrano wyjście procesu, wartość timeout jest resetowana i wtyczka oczekuje ponownie na kolejne wyjście używając wartości Timeout. Zobacz sekcję zwracana wartość, żeby dowiedzieć się w jaki sposób sprawdzić, czy został przekroczony czas (timeout).
Aby mieć pewność, że polecenia będą wykonywane bez problemów we wszystkich wersjach Windows, zaleca się użyć następującej składni:
nsExec::ExecToStack [OPCJE] '"ŚCIEŻKA_DOSTĘPU" parametr1 parametr2 parametrN'
Dzięki temu, ścieżka aplikacji może zawierać więcej niż 8 znaków (ze spacjami)