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