본문 바로가기
NSIS

[NSIS] 우리 NSIS로 한 번 가자

by Falto 2023. 1. 17.

NSIS는 nullsoft scriptable install system의 약자이다. installer를 만들어주는 프로그램이다.

왜 Microsoft Visual Studio Installer Project를 사용하지 않고 NSIS를 사용하게 되었는가? 그것은 바로 덮어쓰기 때문이다. Microsoft에서 제공하는 Installer는 동일 버전이 이미 설치되어 있으면 덮어쓰기가 불가능하다. 버전을 높여서 설치기를 만들어도 어셈블리 파일 버전이 같으면 덮어쓰기가 안 된다. 일일히 버전을 높여줘야 하는 번거로움이 있다. 반면에 NSIS는 버전과 관계없이 동일 경로에 무조건 덮어쓰기가 가능하다. 그래서 나는 NSIS를 선택했다.

Download - NSIS (sourceforge.io)

 

Download - NSIS

<!-- Saved in parser cache with key n22049_wiki-wiki_:pcache:idhash:2349-0!canonical and timestamp 20230116115151 and revision id 25576 -->

nsis.sourceforge.io

여기서 다운받을 수 있다.

설치하고 실행하면 이런 창이 뜬다. Documentation에서 NSIS Users Manual과 Example scripts를 공부하고 자신만의 스크립트를 짜서 installer를 만들면 되지만, 시간이 오래 걸린다. 그래서

HM NIS Edit이라는 프로그램을 이용할 것이다.

HM NIS Edit: A Free NSIS Editor/IDE (sourceforge.net)

 

HM NIS Edit: A Free NSIS Editor/IDE

HM NIS EDIT: A Free NSIS Editor/IDE  |   |   |   |   |   |   |     HM NIS Edit is the best Editor/IDE for Nullsoft Scriptable Install System (NSIS). Its useful for experts and beginners in the creation of Setup programs with the NSIS. Its S

hmne.sourceforge.net

여기서 다운받을 수 있다.

설치하고 실행하면 위와 같은 창이 뜬다. 참고로 바탕 화면에 생긴 HM NIS Edit 바로가기는 지우지 않는 게 좋다. 프로그램 경로로 바로 갈 수 있는 유일한 바로가기이기 때문에 그걸 지우면 직접 프로그램 설치한 폴더로 찾아가서 실행해야 한다. 지울 거면 작업 표시줄에 고정해놓고 지우든지 하자.

빨간색으로 동그라미 쳐진 버튼을 누른다. 마우스가 없다면 Ctrl+W를 눌러도 좋다.

그럼 위와 같은 창이 뜬다. Next >를 누르자.

Application name과 version은 빈 칸으로 둘 수 없다. 나머지는 빈 칸으로 둘 수 있다.

아이콘과 setup file 이름, 언어 등을 설정할 수 있다.

Allow user to change the application directory를 체크하면 설치 경로를 바꿀 수 있고, 체크 해제하면 무조건 그 경로에만 설치되는 설치기를 만들 수 있다.

License file은 없으면 빈칸으로 두어도 Next >를 누를 수 있다.

여기가 가장 중요한 부분이다.

우선 예시로 올라와 있는 파일 경로 2개를 x 버튼을 눌러 전부 지워주자. 다 지웠으면 X 버튼의 왼쪽 왼쪽에 있고, 빈 종이 버튼의 오른쪽에 있는 2번째 트리 모양의 버튼을 클릭한다.

그럼 이런 창이 뜬다. 프로젝트 폴더의 bin/debug 폴더의 경로를 SelectDirectory 칸에 넣으면 된다. 물론 debug 폴더에 빌드(exe 파일을 만드는 것)가 되어있다는 전제 하에 말이다. release 폴더에 빌드해놨으면 release 폴더를 선택하면 된다. 그리고 OK를 누르자.

그럼 이렇게 빌드된 파일들이 전부 추가된다.

주의사항: pdb 파일(위 사진의 경우 TessTest.pdb)은 실행 파일의 로컬 경로를 담고 있는 파일이다. 이 정보를 배포하는 것을 원치 않으면 X 버튼을 눌러 제외시키자. 그리고 dll과 exe를 제외한 모든 파일은 필수가 아니기 때문에 포함시키지 않아도 좋다.

이 다음 단계부터는 딱히 설명할만한 게 없다. 넘어가고

여기서 Finish 버튼을 클릭한다.

그럼 이렇게 script가 자동으로 만들어진다! 이제 이걸 저장하고 컴파일하면 설치기가 완성된다. 컴파일 방법은 

이 버튼을 클릭하거나

파일을 저장한 후 Compile NSIS Script를 누르면 된다.

어떤 방법을 선택하든 이와 비슷한 로그를 볼 수 있다. 그리고 같은 폴더에 Setup.exe가 생긴 것을 볼 수 있다.

완성!

install directory가 레지스트리를 참조하는 것을 원치 않으면 저 부분을 삭제하자. installer를 만들었는데 자꾸 이상한 경로가 기본 경로로 설정된다면 저 스크립트 때문이다.

'NSIS' 카테고리의 다른 글

[NSIS] MUI_PAGE_LICENSE 한글 깨질 때 해결 방법  (0) 2023.03.30

댓글