NSIS란… DarkKaiser, 2007년 6월 13일2023년 9월 6일 NSIS의 장점 파일크기가 작다. 거의대부분의 윈도와 호환된다. 특수한 압축방식으로 최소한의 오버헤드와 따로 자동압축풀림 기능을 사용할 필요가 없습니다. 스크립트 방식으로 인스톨러의 모든 동작을 직접 제어할 수 있습니다. 다국어를 지원합니다. 인터페이스나 대화상자를 편집할 수 있습니다. 필요한 기능은 플러그인으로 추가할 수 있습니다. 웹을 통한 설치, 패치를 지원합니다. NSIS는 쉽게 하나의 설치마법사에 여러 프로젝트를 통합하거나 라이트, 풀 버전등을 만듭니다. 간단한 NSIS 문법 주석 “;”, “#” 이후의 문장은 주석입니다. /* 와 */ 사이의 문장은 주석입니다. 명령 명령 (인자) 입니다. 예) File “myfile.exe” 플러그인 플러그인 이름::명령 (인자) 숫자 10진수(일반적인 수), 16진수(앞에 0x를 붙입니다.), 8진수(앞에 0를 붙입니다.) 변수 변수명 앞에 $를 붙입니다. NSIS Section이란? NSIS에 있어서 섹션이란 매우 중요합니다. 섹션은 보통, 다른 설치마법사 제작기에서 다른 이름으로 많이 있습니다. 컴포넌트, 기능(Feature), 구성요소 등으로 말이죠. 이름만 다르고 이들과 하는 일은 같습니다. 즉, 제작자가 어떤 프로그램을 설치하려고 할때 그 프로그램을 구성하는 하나의 구성요소 라고 할 수 있습니다. 파일이 모여서 섹션이 되고 섹션이 모여서 프로그램이 되는거죠. NSIS Page에 대해서 NSIS로 만들 수 있는 설치마법사 중 대개는 화면에 뭔가 보여주면서 선택을 하게 됩니다. 당연한가요? Page에 관련된 일련의 명령들은 바로 이러한 화면을 제어합니다. 순서, 보여지는 형태, 언어, 동작 등 많은 것들을 제어합니다. 또한, NSIS에서는 NSIS에서 내장해서 자체적으로 제공하는 화면 말고 CustomPage 라고 하여 사용자가 원하는 화면을 만들어서 보여줄 수 있습니다. (InstallOptions 라는 플러그인이 있고, Codec xPack에서 ffdshow 옵션을 설정하는 화면에서 쓰였습니다.)페이지를 다룰때는 일단 기본적으로 Page, UninstPage(설치제거용) 두가지 명령을 쓰며 Page나 UninstPage의 확장판으로 PageEx라는 명령이 있습니다. 일단 페이지를 만든다고 치면 각 페이지들의 순서를 정해야 할 것입니다. 여기서 NSIS 스크립트만의 편리성이 드러납니다. NSIS 스크립트는 위에서 아래로 차례로 순차적으로 실행된다고 언급한 적이 있습니다. 즉, 배열하려는 Page 순서대로 스크립트에서 한줄씩 차례대로 적어주기만 하면 됩니다. Page license; Page components 이렇게 적으면 NSIS는 라이센스 화면을 보여주고 다음에 컴포넌트 선택 화면을 보여줍니다. NSIS에서 자체적으로 제공하는 페이지들.. (license, components, directory, instfiles, uninstConfirm) 입니다. instfiles는 설치/제거 모두에 쓰입니다. 또한 이렇게 순서만 정하면 재미가 없을겁니다. NSIS에서는 이렇게 순서를 정하면서 동시에 간단한 동작이나 형태를 지정해 줄 수 있습니다. 물론, 이렇게 하기위해서는 NSIS의 함수에 대해서 알아야합니다. 또한, Page, UninstPage 의 인자에 대해서도 알아야겠죠. Page custom [creator_function] [leave_function] OR (license|components|directory|instfiles|uninstConfirm) [pre_function] [show_function] [leave_function] UninstPage custom [creator_function] [leave_function] OR (license|components|directory|instfiles NSIS NSIS배포