1. Installer가 뭐야?
Installer의 원형격이라 할
수 있는 Install은 IT사전에서 찾아보면 알 수 있듯이 한마디로 프로그램을 설치하는
것을 말합니다. 이와 같이 인스톨러는 한마디로 프로그램을 사용자가 힘을 들지 않고
설치하게끔 해주는 도우미이자 마법사입니다.
2. Installer가 왜 필요한건데?
보통 우리가 즐겨하는 게임부터
시작하여 왠만한 프로그램에는 한 개 이상의 실행파일과 여러개의 구성요소(그래픽,
모듈, 오브젝트 등)를 같이 설치해야 제대로된 작동이 가능합니다. 하지만 그런 것에
대해 생판 모르는 사용자가 개발자나 알법한 모듈이나 실행파일의 위치를 지정하고
일일이 설치해야 한다는게 어려운 일 아닐까요? 한마디로 놀려다가 일을 더 만든
꼴이 됩니다. 인스톨러는 이와 같은 불편을 줄여 프로그램 설치 시간의 절약과 생산성
향상에 목표를 하고 제작되고 있습니다.
한번 써먹어보자 인스톨러!
각종 프로그램의 배포를 위해
사용하는 인스톨러는 여러 가지가 있습니다만, 보통 제작시에는 “마법사”라던지
“도우미”라는 의미가 무색할 정도로 어렵고 막노동(노가다)성이 강합니다.
무지 간단한, 말 그대로 파일의 ‘설치’ 만을 지원하는 인스톨러의 경우 매우 쉽지만,
프로그램의 요구에 맞춰서 다양한 옵션을 제공하는 고급형 Installer의 경우는 거의
대부분이 Script(소프트웨어에 실행시키는 처리 절차를 문자(텍스트)로 기술한 것)
기반이라 일반인들이 접하기에는 약간 무리가 있는 것이 사실입니다.
하지만 대부분의
고급 인스톨러 제작 프로그램이 지원하면 하는 수 없이 배워야 합니다. 하지만 보통
서로간의 구문이나 법칙은 대체로 호환 되므로 한번 익혀주면 금방 적응이 되는 것이
장점입니다.
우리가 배울 프로그램 – NSIS
NSIS는 Winamp로 유명한 Nullsoft의 인스톨 시스템으로,
Nullsoft Scriptable Install System을 줄여서 NSIS라 말하며, 공식적인 명칭 또한
NSIS이기도 합니다.
NSIS의 장점이라 하면 바로 프리웨어라는 것입니다.
프리웨어 중에 가장 강력한 기능을 자랑하는 녀석으로서, 같은 기능을 구현하는 유명한
Install Shield나 Installer Vise등의 유수한 상용 S/W는 라이센스당 200만원 이상을
호가하는 경우가 많기 때문에(수준에 따라 천만원 이상도 ‘목격’) 이런 강력한 녀석이
무료라는 것 하나만으로도 상당한 메리트로 작용합니다.
하지만 단점도 있습니다. 바로 GUI를 이용한 마법사
기능을 제공하지 않는다는 것인데요, 오로지 스크립트로만으로 제작을 하여야 합니다.
마법사를 이용한 간단한 프로젝트 구조를 만들 수 있는 여타 인스톨러와는 대조적입니다.
하지만, 충분한 예제와 연습용 스크립트가 존재하므로, 여기서 스크립트를 떼와 짜집기만으로도
충분히 멋진 인스톨러 제작이 가능합니다.
자, 인스톨러 제작에 앞서서 인스톨러 제작 프로그램을
우선 받아야 하겠죠?
1. http://nsis.sourceforge.net을
방문하여 Download란으로 이동한다.
2. NSIS Download를 클릭.
3. 새창이 뜨며
나타나는 서버 목록을 적당히 봐가며 알아서 받는다.
4. NSIS 설치. -끝-
Contrib |
NSIS에서 쓰일 각종 기능의 예시와 소스코드들 |
MakeNSIS Project |
MakeNSISW의 소스코드인 듯 합니다(필요 없음). |
MakeNSISW |
스크립트로 짠 인스톨러를 컴파일 해주는 컴파일러 |
NSIS Documentation |
NSIS의 소개, 기능 예시등의 도움말 |
NSIS Examples |
NSIS의 예제 인스톨러 스크립트가 있는 폴더로 이동합니다. |
NSIS Menu |
NSIS에서 제공하는 메뉴들을 볼 수 있습니다. |
NSIS Site |
NSIS 공식 사이트로 이동합니다. |
메뉴도 볼폼없고, 오로지 스크립트만을 지원하여 사용자 편의성이 꽝이지만 군더더기 없는 매뉴얼에, 확실한 기능 지원으로 프리웨어 인스톨러로서의 입지를 확고히 굳혀나가고 있는 NSIS의 개발진들에게 감사한 마음을 가지게 하는군요. 이렇게 멋진 인스톨러를 내놨으니.
다음에는 기본적인 스크립팅에서의 구문을 공부할까 합니다. 그럼!