NSIS/Reference

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

MoongStory 2024. 12. 11. 13:14
반응형
# 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
반응형