NSIS(Nullsoft Scriptable Install System) 스크립트 기반 인스톨 시스템
#Script Exam
#morden UI script exam
명령 : 한줄 명령. 한줄 연결 (\) 다음 줄까지 사용
주석 : # 끝까지 /* */ 여러줄
플러그인 : 추가 기능 plugin::command [parameters]
숫자 : 10진수, 8진수, 16진수 가능
문자열 : " " 공백포함 문자열 ',` 도 가능 문자열 안에 " 표현하고 싶을 경우 $\사용
지정 문자
$$ $문자
$\r 캐리지 리턴
$\n 다음줄
$\t 탭 표시
변수 : %Varoab;es
길이문제 : 커맨드 시 한줄에 다 못입력할 경우 '\'을 통한 연결
NSIS의 변수는 전역범위를 가짐
Var varExam
Function.onInit
Var /GLOBAL testing
strCpy $VarExam "Hello World"
Functionend
$로 변수명을 선언하진 않았지만 $를 꼭 넣어야 한다.
이미 지정되어 의미를 가진 변수들
$INSTDIR 인스톨 하기 위한 디렉토리 설정
$OUTDIR 현재 만드는 인스톨 프로그램 저장 위치
$CMDLINE 인스톨 프로그램 실행시 파라미터에 넘겨 줄때 값을 가짐
$LANGUAGE 현재 사용하는 언어에 대한 인식을 위한 숫자
상수 Window OS환경 값, 이미 지정 됨
$PROGRAMFILES 기본 프로그램 인스톨 디렉토리
$COMMONFILES common 파일이 들어 있는 디렉토리
$DESKTOP 바탕화면
$EXEDIR 인스톨 실행파일이 저장된디렉토리
${NSISDIR} NSIS가 인스톨될 디렉토리
$WINDIR 윈도우 디렉토리
$SYSDIR 윈도우 시스템 디렉토리
$TEMP 임시 디렉토리
$STARTMENU 시작 메뉴
$QUICKLAUNCH 빠른 시작
$DOCUMENTS 내 문서
$NETHOOD 네트워크 환경 객체 폴더
$FONT 폰트
$APPDATA 응용 프로그램 데이터
Label : 실행되는 흐름을 label로 보냄 지역적으로 인식되며, function 및 section 내부에서 사용가능
Relative Jump : 현재 위치 기준 몇 번째 instruction(명령)으로 이동할지 결정
Instruction ex) MessageBox, Goto, GetDLLVersion, FileRead, SetShellVarContext 등
AddSize, Section, SectionGroup, Name, LangString등은 인스톨러 컴파일시 실행되므로 instruction이 아님
Page : NSIS는 페이지가 모여 전체 인스톨러를 구성한다.
Page 페이지 추가
UninstPage 언인스톨 페이지 추가
PageEx 페이지를 더 자세히 작성
Cf) 페이지 작성시 예전 버전과 호환성 때문에 Page 명령이 없는 경우 license, components, directory, instfiles등이 자동 포함
Ref)
http://blog.daum.net/fashionpersonal/6
http://skql.tistory.com/507#recentTrackback
http://www.cipher.pe.kr/tt/cipher/category/6
#Script Exam
#morden UI script exam
명령 : 한줄 명령. 한줄 연결 (\) 다음 줄까지 사용
주석 : # 끝까지 /* */ 여러줄
플러그인 : 추가 기능 plugin::command [parameters]
숫자 : 10진수, 8진수, 16진수 가능
문자열 : " " 공백포함 문자열 ',` 도 가능 문자열 안에 " 표현하고 싶을 경우 $\사용
지정 문자
$$ $문자
$\r 캐리지 리턴
$\n 다음줄
$\t 탭 표시
변수 : %Varoab;es
길이문제 : 커맨드 시 한줄에 다 못입력할 경우 '\'을 통한 연결
NSIS의 변수는 전역범위를 가짐
Var varExam
Function.onInit
Var /GLOBAL testing
strCpy $VarExam "Hello World"
Functionend
$로 변수명을 선언하진 않았지만 $를 꼭 넣어야 한다.
이미 지정되어 의미를 가진 변수들
$INSTDIR 인스톨 하기 위한 디렉토리 설정
$OUTDIR 현재 만드는 인스톨 프로그램 저장 위치
$CMDLINE 인스톨 프로그램 실행시 파라미터에 넘겨 줄때 값을 가짐
$LANGUAGE 현재 사용하는 언어에 대한 인식을 위한 숫자
상수 Window OS환경 값, 이미 지정 됨
$PROGRAMFILES 기본 프로그램 인스톨 디렉토리
$COMMONFILES common 파일이 들어 있는 디렉토리
$DESKTOP 바탕화면
$EXEDIR 인스톨 실행파일이 저장된디렉토리
${NSISDIR} NSIS가 인스톨될 디렉토리
$WINDIR 윈도우 디렉토리
$SYSDIR 윈도우 시스템 디렉토리
$TEMP 임시 디렉토리
$STARTMENU 시작 메뉴
$QUICKLAUNCH 빠른 시작
$DOCUMENTS 내 문서
$NETHOOD 네트워크 환경 객체 폴더
$FONT 폰트
$APPDATA 응용 프로그램 데이터
Label : 실행되는 흐름을 label로 보냄 지역적으로 인식되며, function 및 section 내부에서 사용가능
Relative Jump : 현재 위치 기준 몇 번째 instruction(명령)으로 이동할지 결정
Instruction ex) MessageBox, Goto, GetDLLVersion, FileRead, SetShellVarContext 등
AddSize, Section, SectionGroup, Name, LangString등은 인스톨러 컴파일시 실행되므로 instruction이 아님
Page : NSIS는 페이지가 모여 전체 인스톨러를 구성한다.
Page 페이지 추가
UninstPage 언인스톨 페이지 추가
PageEx 페이지를 더 자세히 작성
Cf) 페이지 작성시 예전 버전과 호환성 때문에 Page 명령이 없는 경우 license, components, directory, instfiles등이 자동 포함
Ref)
http://blog.daum.net/fashionpersonal/6
http://skql.tistory.com/507#recentTrackback
http://www.cipher.pe.kr/tt/cipher/category/6
0 개의 댓글:
댓글 쓰기