[NSIS] Install 영역과 Uninstall 영역 모두에서 호출 가능한 함수? 매크로? 기본 포맷

!macro _FuncName un
	Function ${un}_FuncName
		# 함수 정의
		Pop $0
		MessageBox MB_OK "_FuncName [$0]"
		Push "return $0 from _FuncName"
	FunctionEnd
!macroend
!insertmacro _FuncName ""
!insertmacro _FuncName "un."

!macro FuncName OUTPUT param
	Push "${param}"

	!ifndef __UNINSTALL__
		Call _FuncName
	!else
		Call un._FuncName
	!endif

	Pop "${OUTPUT}"
!macroend

!define FuncName "!insertmacro FuncName"



!macro _FuncName2 un
	Function ${un}_FuncName2
		# 함수 정의
		Pop $1
		MessageBox MB_OK "_FuncName2 [$1]"

		${FuncName} $0 "test $1"
		MessageBox MB_OK "_FuncName2 000 [$0]"
	FunctionEnd
!macroend
!insertmacro _FuncName2 ""
!insertmacro _FuncName2 "un."

!macro FuncName2 param
	Push "${param}"

	!ifndef __UNINSTALL__
		Call _FuncName2
	!else
		Call un._FuncName2
	!endif
!macroend

!define FuncName2 "!insertmacro FuncName2"



호출은 'install' 영역과 'uninstall' 영역 모두에서 아래와 같이 호출하면 된다.
${FuncName2} "abcd"

댓글

이 블로그의 인기 게시물

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

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