nsis 설치파일
배포용 설치파일 생성할때 사용합니다

이와 같은 설치 프로그램을 스크립트 만으로 간단히 제작할 수 있다는 것입니다. [Next]로 진행합니다.

NSIS는 zlib, bzip2, lzma 모듈 등을 사용하고 있는데 연관 모듈의 라이선스에 동의하고 진행합니다.

예제와 플러그인등을 선택할 수 있도록 하는데 기본 설정인 전체 선택으로 진행합니다.

설치 폴더를 지정하고 [Install]로 설치를 진행합니다.

설치가 끝나면 위와 같은 창이 나오는데 "Run NSIS"만 선택하고 설치를 끝내면 NSIS가 실행됩니다.

* 설치 스크립트 작성하기
설치 스크립트는 자주 사용하는 텍스트 에디터로 작성합니다.
설치 스크립트의 확장자는 *.nsi로 어떤 텍스트 에디터로 작성해도 관계없습니다. 서브 모듈을 작성해서 include할 경우에는 *.nsh로 작성합니다. 아래의 그림은 jEdit로 SCADABR의 설치 스크립트를 Open한 것입니다. 그림 처럼 텍스트 파일의 라인 번호와 문법 표시가 구분된다면 보다 효율적인 작업이 될것입니다.
(NSIS 컴파일러가 작업 중 오류나 경고를 라인 번호로 알려줍니다)

스크립트 작성중 도움말이 필요하면 NSIS 프로그램에 있는 "NSIS Users Manual"을 클릭하여 도움말을 확인할 수 있습니다.
스크립트 파일의 문법은 매뉴얼의 "4.1 Script File Format"을 참조합니다.
텍스트 파일의 인코딩은 UTF-8이므로 한국어는 물론 다국어 지원에도 무리가 없어 보입니다.
스크립트 작성의 가장 빠른 방법은 예제를 보는 것으로 NSIS 프로그램에 있는 "Example scripts" 메뉴를 클릭하면 예제 스크립트가 있는 폴더로 바로 이동할 수 있습니다. 예제 폴더에는 각 플러그인 별 사용 예제 또한 확인할 수 있습니다.
다음의 스크립트는 예제 폴더에 있는 example1.nsi로 설치를 진행하면 사용자로부터 설치 폴더를 입력받아 단순히 example1.nsi 파일을 복사하는 것으로 설치를 마무리하는 아주 간단한 스크립트 입니다.
; The name of the installer
Name "Example1"
; The file to write
OutFile "example1.exe"
; The default installation directory
InstallDir $DESKTOP\Example1
; Request application privileges for Windows Vista
RequestExecutionLevel user
;--------------------------------
; Pages
Page directory
Page instfiles
;--------------------------------
; The stuff to install
Section "" ;No components page, name is not important
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Put file there
File example1.nsi
SectionEnd ; end the section
설치 과정에서 부가적인 작업을 해야하는 경우에는 NSIS에서 제공하는 플러그인을 활용하면 간편하게 해당 기능을 구현할 수 있는데 각 플러그인의 사용법은 NSIS 프로그램에 있는 "Plug-ins" 섹션에 있는 각 플러그인 메뉴를 클릭하면 사용법을 텍스트 파일로 볼 수 있습니다.
NSIS 플러그인의 실행 파일은 *.DLL 파일로 NSIS 설치 폴더(C:\Program Files\NSIS) 아래 Plugins 폴더에 위치하며 연관 헤더 파일(*.nsh)은 설치 폴더 아래 Include 폴더에 위치합니다. NSIS 설치와 함께 설치되는 기본 플러그인외의 다양한 플러그인은http://nsis.sourceforge.net/Category:Plugins에서 확인할 수 있습니다.
예를 들어 SCADABR에서는 ZipDLL플러그인을 사용하는데 기본 플러그인에는 없으므로 그냥 컴파일을 수행하면 오류를 냅니다.
http://nsis.sourceforge.net/ZipDLL_plug-in에서 ZipDLL.zip (370 KB)를 다운로드 받아 ZipDLL.dll은 NSIS 설치 폴더(C:\Program Files\NSIS) 아래 Plugins 폴더에 두고 ZipDLL.nsh는 설치 폴더 아래 Include 폴더에 두면 정상적으로 컴파일을 수행할 수 있었습니다.
* 설치 프로그램 제작하기
위에서 설치 스크립트가 준비되었으면 3가지 방법으로 설치 프로그램을 제작 할 수 있습니다.
- NSIS 프로그램에 있는 "Compile NSI scripts" 메뉴를 클릭하여 설치프로그램 컴파일러를 실행시키고 File > Load Script 메뉴로 스크립트 파일을 로드해서 설치 프로그램을 제작합니다.
- NSIS 프로그램에 있는 "Compile NSI scripts" 메뉴를 클릭하여 설치프로그램 컴파일러를 실행시키고 탐색기에서 스크립트를 Drag하고 컴파일러 창에 Drop하여 설치 프로그램을 제작합니다.
- 탐색기에 있는 스크립트 파일을 우측 마우스로 클릭하여 팝업메뉴>Compile NSIS Script메뉴로 설치 프로그램을 제작합니다.
- 정상적으로 설치 프로그램이 작성되면 *.exe가 만들어지고 컴파일러 창에는 별로의 오류 메시지가 없습니다. 그러나, 스크립트 오류나 플러그인이 없거나 하는 경우에는 오류 메시지를 로그 화면에서 확인할 수 있습니다.
아래의 그림은 SCADABR 설치 스크립트를 컴파일한 결과 화면입니다.

qwdgergd 님의 최근 댓글
헐 2016 06.07