[NSIS] 커맨드 라인 옵션 값 받아오기 + 사일런트 모드 설치

# Command Line 명령어를 받아오기 위해 추가.
!include FileFunc.nsh
!insertmacro GetParameters
!insertmacro GetOptions

VAR /GLOBAL PARAM # 전역 변수 선언

Function .onInit
	${GetParameters} $PARAM
	ClearErrors
	${GetOptions} $PARAM /SILENT= $PARAM # 여기에서 '/'뒤에 써주는 단어가 커맨드라인 옵션임. 예를 들어 "${GetOptions} $PARAM /TestInput= $PARAM" 이라고 하고, NSIN 빌드 결과 만들어지는 설치 파일 명이 "install.exe"라고 할 때, "install.exe /TestInput=입력값" 이라고 커맨드 라인에서 입력하면 $PARAM에 "입력값"이 들어옴.

	; MessageBox MB_OK $PARAM # 값 들어오는지 확인. ex) ["설치 파일 명.exe" /SILENT=test], 라고 했을 때 test가 찍혀야 함.

	# SetSilent can only be used in .onInit and doesn't work well along with `SetSilent silent'

	${If} $PARAM == on
		;MessageBox MB_OK "Silent Mode On."
		SetSilent silent # 설치 시 사일런트 모드로 아무것도 뜨지 않음.
	${Else}
		;MessageBox MB_OK "Silent Mode Off."
		SetSilent normal
	${EndIf}
FunctionEnd

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법