2 . 2 스크립트 파일 - NSIS 사용 자 설명서 
 NSIS 사용 자 설명서 
 1 장 : NSIS 소개 
 1 . 1 NSIS 에 대해서 
 1 . 2 주요 기능 들 
 1 . 3 기능 목록 
 1 . 4 유니코드 인스톨러 준비 중 
 2 장 : 튜토리얼 : 기초 
 2 . 2 스크립트 파일 준비 중 
 2 . 3 스크립트 구조 준비 중 
 2 . 4 컴파일러 준비 중 
 2 . 5 Modern UI 
 2 . 6 플러그 인 준비 중 
 3 장 : 명령 줄 옵션 
 3 . 1 MakeNSIS 명령 줄 옵션 
 3 . 2 인스톨러 명령 줄 옵션 준비 중 
 4 장 : 스크립트 레퍼런스 준비 중 
 4 . 1 스크립트 파일 포맷 준비 중 
 4 . 2 변수 준비 중 
 4 . 3 레이블 준비 중 
 4 . 4 상대 분기 ( Relative Jumps ) 준비 중 
 4 . 5 페이지 준비 중 
 4 . 8 인스톨러 속성 준비 중 
 4 . 8 . 1 일 반 속성 준비 중 
 4 . 9 인스트 럭 션 준비 중 
 4 . 9 . 1 기본 인스트 럭 션 준비 중 
 4 . 12 백 그라운드 인스톨러 / 언 인스톨러 준비 중 
 5 장 : 컴파일 타임 명령어 준비 중 
 부록 ㅂ : 변경 사항 및 릴리즈 노트 
 버전 1 준비 중 
 부록 ㅅ : NSIS 빌드 준비 중 
 부록 ㅇ : 크 레딧 준비 중 
 부록 ㅈ : 라이선스 
 CraXicS 
 토픽 37 / 봤 어요 0 
 2 . 2 스크립트 파일 
 2018 - 08 - 01 21 : 03 : 50 
 NSIS 인스톨러 를 생성 하 기 위해 NSIS 스크립트 를 먼저 작성 해야 합니다 . NSIS 스크립트 는 특수 한 문법 을 적용 한 단순 한 텍스트 파일 입니다 . 어떠 한 텍스트 편집기 로 도 이 스크립트 를 편집 할 수 있 습니다 . NSIS 는 스크립트 오류 가 발생 했 을 때 , 줄 번호 를 통해 오류 의 위치 를 알려 주 므로 줄 번호 를 보여 주 는 텍스트 편집기 를 사용 할 것 을 권장 합니다 . 문법 강조 를 지원 하 는 에디터 또한 권장 합니다 . NSIS Wiki 에서 NSIS 를 위해 만들 어 진 에디터 와 문법 강조 파일 을 다운로드 할 수 있 습니다 . 
 필자 가 권장 하 는 IDE 는 Visual Studio Code 또는 Atom 입니다 . 이 문서 에서 는 Visual Studio Code 를 사용 해 NSIS IDE 를 구축 하 는 방법 을 설명 하 며 , NSIS 문법 강조 를 지원 하 는 편집기 목록 은 Category : Syntax Highlighting 을 참조 하 십시오 . 
 이제 Visual Studio Code 로 NSIS IDE 를 구성 하 는 방법 에 대해 서술 합니다 . 
 먼저 Visual Studio Code 를 다운로드 받 아 설치 합니다 . 
 실행 후 왼쪽 확장 을 클릭 하 여 NSIS 를 검색 한 후 , 관련 된 확장 프로그램 을 설치 합니다 . 
 필자 는 NSIS ( 필수 ) 와 NSIS Plug - ins 를 설치 했 습니다 . 
 < Visual Studio Code 에서 NSIS 플러그 - 인 설치 > 
 설치 후 다시 로드 를 클릭 하 여 Visual Studio Code 를 재 시작 합니다 . 
 새 파일 ( Ctrl + N ) 을 만든 후 . nsi 확장자 로 저장 합니다 . 
 컴파일 테스트 를 위해 아래 와 같이 소스 코드 를 입력 하 여 아무런 작업 도 하 지 않 는 가장 간단 한 인스톨러 를 생성 합니다 . Visual Studio Code 에서 코드 자동 완성 기능 을 제공 하 므로 3 초 안 에 작성 할 수 있 습니다 . 
 OutFile " file _ name . exe " # 생성 될 인스톨러 파일 의 이름 을 지정 합니다 . 필수 로 호출 해야 하 는 명령 입니다 . 
 Section " section _ name " section _ index _ output # 섹션 을 구현 합니다 . 최소 하나 의 섹션 은 반드시 필요 합니다 . 
 SectionEnd # 섹션 을 닫 는 문 입니다 . 
 이 예제 를 컴파일 할 때 인코딩 오류 가 나타날 수 있 습니다 . UTF - 8 로 인코딩 된 스크립트 파일 에 한글 등 비 - ASCII 문자 가 있 는 경우 이러 한 오류 가 나타날 수 있 습니다 . 
 이럴 경우 비 - ASCII 문자 를 모두 제거 하 거나 , 또는 스크립트 파일 의 인코딩 을 EUC - KR 등 해당 문자 를 지원 하 는 인코딩 으로 변경 하 십시오 . Visual Studio Code 오른쪽 하단 부 에 인코딩 선택 을 클릭 하 면 변경 할 수 있 습니다 . 
 이제 오른쪽 상단 의 번개 문양 버튼 ( Ctrl + Shift + B ) 을 클릭 하 여 스크립트 파일 을 저장 하 고 컴파일 을 수행 합니다 . 
 컴파일 에 성공 했 다면 Run ( 실행 ) 및 Reveal ( 폴더 열기 ) 버튼 이 보이 는 컴파일 성공 메시지 가 나타납니다 . 
 < 컴파일 성공 화면 > 
 컴파일 오류 가 발생 했 다면 출력 에 자세 한 오류 메시지 가 나타납니다 . 
 생성 된 인스톨러 파일 의 크기 는 파일 의 아이콘 등 기본 리소스 크기 를 감안 하 여 대략 35 . 8 KB 를 차지 하 게 됩니다 . 
 < 환경 변수 오류 > 
 만약 위 와 같이 PATH 환경 변수 에서 makensis 를 찾 을 수 없 다고 메시지 가 나타나 면 Windows 환경 변수 중 path 변수 에 makensis 경로 를 추가 합니다 . 
 사용자 계정 전체 에 적용 하 려면 시스템 변수 의 path 에 추가 합니다 . 
 < 환경 변수 에 경로 추가 > 
 makensis . exe 기본 설치 경로 는 C : \ Program Files ( x 86 ) \ NSIS \ Bin 입니다 . 
 인스톨러 를 실행 하 면 관리자 권한 을 요구 한 뒤 실행 됩니다 . 아무런 작업 을 지시 하 지 않 았 으므로 실행 하 자마자 설치 가 완료 되 었 다고 나타납니다 . 
 < 빈 인스톨러 실행 화면 > 
 이제 예제 를 복사 하 여 직접 컴파일 해 보 면서 다른 절차 지향 프로그래밍 언어 와 의 차이 를 인지 하 십시오 . 
 가끔 예 제 소스 코드 에서 설명 되 지 않 는 부분 이 있 을 수 있 으나 본 장 은 튜토리얼 중심 으로 설명 하 므로 깊 은 문법 은 생략 합니다 . 설명서 의 뒷 장 에서 나머지 언급 되 지 않 은 문법 에 대해 설명 합니다 . 
 NSIS 스크립트 에서 한 줄 은 한 명령 로 취급 합니다 . 만약 명령 이 너무 길 때 에 는 역 슬래쉬 ( \) 를 이 어 명령 을 연장 할 수 있 습니다 . 그러면 컴파일러 는 새 줄 을 새 명령 이 아닌 이전 줄 의 연장 된 줄 로 인식 합니다 . 
 OutFile " file _ name . exe " 
 Section " section _ name " section _ index _ output 
 " This is a sample that shows how to use line breaks for larger commands in NSIS scripts " 
 문자열 에서 큰 따옴표 를 사용 할 때 $\” 를 사용 하 여 큰 따옴표 를 이스케이프 하 거나 ` 또는 ‘ 과 같이 다른 유형 의 따옴표 로 문자열 을 인용 할 수 있 습니다 . 
 스크립트 포맷 에 대한 좀 더 자세 한 정보 는 스크립트 파일 포맷 을 참조 하 십시오 . 
 스크립트 파일 의 기본 확장자 는 . nsi 입니다 . 헤더 파일 은 . nsh 확장자 를 갖 습니다 . 헤더 파일 은 코드 를 하나 이상 의 블 럭 으로 분리 하 여 스크립트 의 모듈 화 를 구현 합니다 . 구체 적 으로 , 함수 나 매크로 를 헤더 에 작성 한 후 스크립트 에 포함 시켜 유지 보수 를 쉽 게 하 고 스크립트 가독성 을 올려 줍니다 . 스크립트 에 헤더 파일 을 포함 시키 기 위해서 ! include 명령 을 사용 합니다 . NSIS 설치 디렉터리 의 Include 폴더 안 에 있 는 헤더 파일 들 은 경로 를 따로 작성 할 필요 없이 파일 명만 으로 도 포함 될 수 있 습니다 . 
 CraXicS 21 일 전 
 Windows 방화벽 제어 는 netsh advfirewall 명령 줄 옵션 을 NSIS 에서 직접 실행 하 거나 http : / / nsis . sourceforge . net . .....- in 등 의 플러그인 을 사용 하 는 방법 이 있 습니다 . http : / / ospace . tistory . com / 174 이곳 에서 해당 플러그인 이 간략 하 게 설명 되 어 있 습니다 . 서비스 또한 sc 명령 줄 옵션 을 실행 하 거나 http : / / nsis . sourceforge . net . ..... gin 플러그인 을 사용 하 면 됩니다 . 
 방문객 21 일 전 
 nsis 기능 중 에 방화벽 차단 , 서비스 등록 같 은 기능 에 대해 설명 한 페이지 가 있 나요 ? ? 아님 혹시 자료 가 있 으면 부탁 좀 드립니다 . 
 CraXicS 2 개월 전 
 NSIS 를 설치 한 후 Visual Studio Code 를 설치 하 셨 나요 ? 
 컴파일 시 번개 문양 또는 단축키 를 사용 하 셨 나요 ? 
 종합 적 인 문제 해결 을 위해 아래 의 절차 를 따라 해 보 세요 . 
 1 . NSIS 도 설치 해야 합니다 . 
 - NSIS 컴파일러 가 설치 된 상태 에서 컴파일 해야 하 기 때문 에 공식 홈페이지 ( http : / / nsis . sourceforge . net / Download ) 에서 다운로드 받 아 설치 해 주 세요 . 
 2 . ( 설치 순서 와 관계없이 ) 설치 된 상태 라면 makensis . exe 를 환경 변수 에 등록 해 주 세요 . 
 - 자세 한 절차 는 위 문서 에 작성 되 어 있 습니다 . 
 3 . Visual Studio Code 에서 작업 폴더 를 열 때 한글 이 있 는 디렉터리 를 피해 주 세요 . 
 - 특히 한글 로 된 계정 이름 이 있 는 디렉터리 안 에서 컴파일 하 거나 소스 폴더 및 파일 이름 이 한글 이 면 오류 가 날 수 있 습니다 . ( 파일 -> 폴더 열기 ) 
 4 . Visual Studio Code 를 종료 한 후 관리자 권한 으로 실행 하 여 컴파일 해 보 세요 . 
 - 관리자 권한 으로 실행 시 Visual Studio Code 제목 표시 줄 에 [ 관리자 ] 접미사 가 붙 습니다 . 
 5 . 컴파일 시 작업 -> 빌드 작업 실행 이 아닌 Ctrl + Shift + B 키 또는 번개 문양 버튼 을 클릭 해 컴파일 하 세요 . 
 6 . 컴파일 후 바로 인스톨러 를 실행 하 고 나 서 다시 소스 파일 의 수정 사항 없이 짧 은 시간 에 여러 번 컴파일 을 하 면 " Compilation failed , see output for details " 오류 메시지 가 나타날 수 있 습니다 . 
 - 실행 중 인 인스톨러 를 모두 종료 하 고 몇 십 초 기다렸 다가 다시 시도 하 거나 작업 폴더 에서 생성 된 인스톨러 파일 을 삭제 한 후 시도 하 세요 . 
 그래도 문제 가 해결 되 지 않 으면 댓글 달 아 주 세요 . 
 구독자 3 개월 전 
 visual studio code 를 다운 받 아서 따라 해 보 려는데 
 빌드 작업 실행 하 면 
 " 실행 할 빌드 작업 을 찾 을 수 없 습니다 . " 
 라는 메시지 가 나오 고 빌드 가 안 되 는데 
 도움 좀 구할 수 있 을까요 ? 
 구글링 해 봐도 답 을 찾 을 수 가 없 네요 . . 
 2018 - 10 - 30 03 : 11 : 23 CraXicS 
 2018 - 10 - 30 03 : 11 : 23