NSIS 사용자 설명서

3.1 MakeNSIS 명령줄 옵션

아래 내용은 IDE 없이 NSIS 컴파일러를 직접 사용하여 스크립트를 컴파일 하는 방법을 설명합니다. 이미 Visual Studio Code 등의 IDE를 사용하고 있다면 참고용으로만 읽어주십시오.

NSIS 인스톨러는 'MakeNSIS' 프로그램을 통해 NSIS 스크립트 파일(.nsi)을 컴파일하여 생성됩니다. NSIS 개발 도구 인스톨러는 설치 도중 .nsi 파일을 Windows 탐색기에서 오른쪽 클릭 후 'compile'을 클릭해 쉽게 컴파일할 수 있도록 설정합니다.

MakeNSIS의 명령줄 옵션을 사용하기 위한 문법은 아래와 같습니다.

makensis [ option | script.nsi | - ] [...]
3.1.1 옵션
  • /LICENSE는 라이선스 정보를 나타냅니다.
  • /V 스위치 뒤에 0과 4 사이의 숫자가 있으면 출력 수준이 설정됩니다. 0=출력 없음, 1=오류만, 2=경고와 오류만, 3=정보, 경고, 오류만, 4=모든 출력.
  • /P 스위치 뒤에 0과 5 사이의 숫자가 있으면 컴파일러의 프로세스 우선순위를 결정합니다. 0=낮음, 1=낮은 우선 순위, 2=보통 (기본값), 3=높은 우선 순위, 4=높음, 5=실시간.
  • /O 스위치 뒤에 파일명이 있으면 화면에 로그를 출력하는 대신 파일로 리다이렉션합니다.
  • /PAUSE 스위치는 makensis가 종료 직전 일시정지합니다. 이는 Windows에서 직접 실행할 때 유용합니다.
  • /NOCONFIG 스위치는 nsisconf.nsh 헤더 파일을 인클루드하지 않습니다. 이 인수가 없으면 인스톨러의 기본값은 nsisconf.nsh에서 설정됩니다.
  • /CMDHELP 스위치는 명령줄 기초 사용 정보(지정된 정보가 있는 경우) 또는 모든 명령어(지정된 정보가 없는 경우)를 출력합니다.
  • /HDRINFO 스위치는 컴파일에 사용된 옵션에 대한 정보를 출력합니다.
  • /NOCD 스위치는 .nsi 파일에 의한 현재 디렉터리의 변경을 금지합니다.
  • /INPUTCHARSET 스위치는 BOM 없는 파일에 대한 코드 페이지를 지정합니다. (ACP|OEM|CP#|UTF8|UTF16<LE|BE>)
  • /OUTPUTCHARSET 스위치는 출력이 리다이렉션될 때 표준 출력에서 사용하는 코드 페이지를 지정합니다. (ACP|OEM|CP#|UTF8[SIG]|UTF16<LE|BE>[BOM])
  • /PPO 또는 /SAFEPPO 스위치는 전처리기만 실행하며 표준 출력으로 그 결과를 출력합니다. 안전한 버전은 !appendfile 또는 !system과 같은 명령어를 실행하지 않습니다. !packhdr 및 !finalize는 실행되지 않습니다.
  • /WX 스위치는 경고를 오류로 처리합니다.
  • /D 스위치를 한번 이상 사용하여 전역 define 리스트에 심볼을 추가합니다. (!define 참조)
  • /X 스위치를 한번 이상 사용하여 뒤에 오는 코드를 실행합니다. 예: "/XAutoCloseWindow false"
  • Specifying 스크립트 이름에 대시(-)를 지정하여 makensis가 표준 입력으로 소스를 사용합니다.
3.1.2 참고
  • 인수는 순서대로 처리됩니다. makensis /Ddef script.nsi 와 makensis script.nsi /Ddef는 다릅니다.
  • 여러 스크립트가 지정된 경우, 하나의 연결된 스크립트로 처리됩니다.
3.1.3 환경 변수

makensis는 인스톨러를 생성하기 위해 필요한 요소들의 위치를 알아내기 위해 여러 환경 변수를 참조합니다.

  • NSISDIR, NSISCONFDIR - NSIS 데이터 및 설정 파일 설치 위치. NSISDIR은 스크립트 변수 ${NSISDIR}의 값을 변경합니다. 더 자세한 정보는 4.2.3 상수를 참조하십시오.
  • APPDATA (Windows 플랫폼에서) 또는 HOME (다른 플랫폼에서) - 사용자 계정별 설정 파일 위치.
3.1.4 예제

기본 사용:

makensis.exe myscript.nsi

무인 모드:

makensis.exe /V1 myscript.nsi

컴프레셔 지정:

makensis.exe /X"SetCompressor /FINAL lzma" myscript.nsi

스크립트 동작 변경:

makensis.exe /DUSE_UPX /DVERSION=1.337 /DNO_IMAGES myscript.nsi

인수 순서:

makensis /XSection sectioncontents.nsi /XSectionEnd

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
CraXicS
현재 버전
선택 버전
graphittie 자세히 보기