NSIS 사용자 설명서

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

4.1 스크립트 파일 포맷

 NSIS 스크립트 파일(.nsi)은 스크립트 코드로 이루어진 단순한 텍스트 파일입니다.

명령

 스크립트 안의 명령 한 행은 'command [parameters]'로 이루어집니다.

File "myfile"

주석

 ;(세미콜론, 쌍반점) 또는 #으로 시작되는 행은 주석입니다. 명령행 끝에 주석을 추가할 수도 있습니다. 또한 C언어 스타일의 주석도 사용할 수 있습니다.

; Comment
# Comment

# Comment \
    Another comment line (see `Long commands` section below)

/*
Comment
Comment
*/

Name /* comment */ mysetup

File "myfile" ; Comment

 ; 또는 #으로 시작하는 인수는 따옴표를 넣어야 합니다.

플러그인

 플러그인을 호출하기 위한 문법은 'plugin::command [parameters]' 입니다. 더 많은 정보는 Plug-in DLLs를 참조하십시오.

nsExec::Exec "myfile"

멤버

 숫자로 취급되는 인수의 경우 10진수 또는 16진수(0x 접두사 사용, 0x12345AB) 또는 8진수(0 접두사)를 사용합니다.

 색상은 HTML에서 사용하는 16진 RGB 포맷을 사용합니다. 단, #은 사용하지 않습니다.

IntCmp 1 0x1 lbl_equal

SetCtlColors $HWND CCCCCC

문자열

 공백이 있는 문자열을 표현하기 위해서는 따옴표를 사용합니다.

MessageBox MB_OK "Hi there!"

 따옴표는 인수를 둘러싸는 경우에만 인수를 포함하는 특성을 갖습니다. 따옴표는 ', ", ` 중 하나가 될 수 있습니다.

 따옴표는 $\를 사용하여 이스케이프(문자열 그대로 표현) 할 수 있습니다.

MessageBox MB_OK "I'll be happy" ; 문자열 안에 '(따옴표) 삽입
MessageBox MB_OK 'And he said to me "Hi there!"' ; 문자열 안에 "(쌍따옴표) 삽입
MessageBox MB_OK `And he said to me "I'll be happy!"` ; 문자열 안에 ' 및 " 삽입
MessageBox MB_OK "$\"A quote from a wise man$\" said the wise man" ; 따옴표 이스케이프 시퀀스

 새로운 행, 탭, 캐리지 리턴을 만드는 이스케이프 문자는 $\r, $\n, $\t 등이 있습니다. 더 많은 정보는 4.2.4 문자열에 사용되는 상수를 참조하십시오.

변수

 변수는 $로 시작합니다. 사용자 변수는 사용하기 전에 선언해야 합니다.

Var MYVAR

StrCpy $MYVAR "myvalue"

 더 많은 정보는 4.2 변수를 참조하십시오.

긴 명령

 멀티 라인으로 명령행을 확장하기 위해서는, 백슬래쉬(\)를 행 끝에 사용합니다. 그러면 다음 줄이 명령의 끝으로 인식됩니다.

CreateShortcut "$SMPROGRAMS\NSIS\ZIP2EXE project workspace.lnk" \
    "$INSTDIR\source\zip2exe\zip2exe.dsw"

MessageBox MB_YESNO|MB_ICONQUESTION \
    "Do you want to remove all files in the folder? \
    (If you have anything you created that you want \
     to keep, click No)" \
    IDNO NoRemoveLabel

 긴 명령을 위한 라인 확장은 주석도 잘 지원합니다. 하지만 가독성이 낮아질 수 있으므로 주의합니다.

# A comment \
    still a comment here...

구성 파일

 NSIS 설치 디렉터리(기본적으로 C:\Program Files (x86)\NSIS)에 "nsisconf.nsh"라는 파일이 존재합니다. 이 헤더 파일은 모든 스크립트에 기본적으로 포함됩니다. (/NOCONFIG 플래그가 사용되지 않는 경우에만) 다른 플랫폼에서는 설치 시 결정되며 기본적으로 $PREFIX/etc/ 입니다. 런타임에 이를 수정할 수 있으며 더 자세한 정보는 3.1.3 환경 변수를 참조하십시오.

댓글

댓글 본문
버전 관리
Hyunseok Lim
현재 버전
선택 버전
graphittie 자세히 보기