close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

nsis 설치파일

2016.06.04 05:35

qwdgergd 조회 수:132

 

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


 

사용자 삽입 이미지

이와 같은 설치 프로그램을 스크립트 만으로 간단히 제작할 수 있다는 것입니다. [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 설치 스크립트를 컴파일한 결과 화면입니다.

    사용자 삽입 이미지

 

 

번호 제목 글쓴이 날짜 조회 수
142 mysql-5.7.13-winx64 [1] file 근정박 2016.06.29 95
141 navicat112_premium_en_x64 file 근정박 2016.06.29 61
140 InstallFactory+2.70 file 근정박 2016.06.29 74
139 아이콘제작툴 접속기아이콘설정할때유용 file 과이리 2016.06.27 68
138 한국형 아이피우회기 file 과이리 2016.06.27 93
137 가상 주소만드는 코디엔에스 file 과이리 2016.06.27 42
136 Ahn LAB DDos 백신 v3filecleanex.exe 입니다. file 과이리 2016.06.27 35
135 진수변환기 file 과이리 2016.06.27 38
134 6월8일자 맵 추출파일 file 레이스 2016.06.26 133
133 치트엔진 무설치버전입니다 [구축후버그막을때 사용하세요] file 과이리 2016.06.25 179
132 1606패치 파일 [1] file 홍길동사서함 2016.06.25 70
131 구축자료들 file 블루다 2016.06.25 137
130 운영관련자료 file 블루다 2016.06.25 96
129 Login_v273 [1] file friskycow 2016.06.24 138
128 Tool+Box file KeBi 2016.06.23 53
127 L2J 원본팩 구축 동영상 file KeBi 2016.06.21 130
126 Login v321 file friskycow 2016.06.21 124
125 L ogin V221 file friskycow 2016.06.21 60
124 Login_v230 file friskycow 2016.06.21 48
123 Login_v240 file friskycow 2016.06.21 89
122 리니지2.7 접속기 입니다. [23] file 게임존 2016.06.20 2777
121 나비켓설치 동영상 [1] file KeBi 2016.06.20 38
120 mysql 관리 모니터링 툴 file hara 2016.06.18 129
119 ui5차 v130123 패치 file woodlover 2016.06.16 121
118 CTool file 오리곤 2016.06.13 117
117 20160608 네임 메세지 등 맵 file 안녕 2016.06.13 58
116 mysql 무료 관리 툴 heidisql 입니다. file hara 2016.06.12 61
115 [PCU] 패킷 스캐너 베타 file 오리곤 2016.06.12 56
114 [Java] 자바 8u92 JDK file 오리곤 2016.06.12 77
113 축복님 중요업뎃~ [1] file 지니스 2016.06.08 109
112 나비켓 8.0 file 헐랭이22 2016.06.05 109
» nsis 설치파일 file qwdgergd 2016.06.04 132
110 160311800 린빈 입니다. file qwdgergd 2016.06.04 113
109 구축자료 올인원(설명서 포함) file 카스 2016.06.03 217
108 3.80 접속기만들기 [2] file 카스 2016.06.03 1320
107 3.63 접속기 및 통합패치 file 카스 2016.06.03 170
106 바람의나라 패스트무브핫키 file 개미 2016.06.02 68
105 자바 8 전용 Jce file 가남마 2016.05.31 50
104 시툴 접속기 메이커 file 김만수 2016.05.14 290
103 Java SDK 8u92 최신 입니다 file 다크소울IIIX 2016.05.10 67
102 3.63추가.exe-x 버전 패치 file 밥오밥 2016.05.10 49
101 ui6차 통합패치 file 홀릭 2016.05.09 113
100 이클립스 3.7.2 file 홀릭 2016.05.08 78
99 나비켓8.2 한글크렉판 [2] file 파란스토커 2016.05.08 418
98 자바7u버전 깝님받으세여 file 꿈냥쿰풍 2016.05.07 45
97 3.80 pak입니다 file 이프유 2016.05.06 252
96 구축초반SET file 이프유 2016.05.06 147
95 1223패치ver file 이프유 2016.05.06 66
94 0805풀패치 file 이프유 2016.05.06 47
93 패치후 묶어주는 파일 file 홀릭 2016.05.06 164