User inserted image

이번에 Vista 대응 작업을 하던 중 NSIS에서 설치 페이지를 뒤로 옮겨야 하는 일이 생겼다.
기본 Manual을 아무리 찾아봐도 안나오고 -_ㅠ
한참의 삽질 끝에 결국 google님의 힘을 빌어 찾아냈다.

아무래도 직접적인 페이지 이동 명령어는 존재하지 않고 SendMessage를 이용하여
뒤로 버튼을 누른 윈도우 메세지를 전달하는 듯 하다.

링크 : http://nsis.sourceforge.net/Go_to_a_NSIS_page

추가해줘야 할 Function

Function RelGotoPage
IntCmp $R9 0 0 Move Move
StrCmp $R9 "X" 0 Move
StrCpy $R9 "120"

Move:
SendMessage $HWNDPARENT "0x408" "$R9" ""
FunctionEnd

사용 법 : $R9 스텍에 페이지 이동 수치를 입력 후 RelGotoPage를 호출

StrCpy $R9 "(number|X)" ;Relative page number. See below.
Call RelGotoPage

내 경우는 InstallPath 를 점검하여 설치 할 수 없는 폴더일 경우 다시 폴더 선택을 하도록 하는 처리가 필요했으며 파일 설치 직전에 $INSTDIR 를 체크하여 설치할 수 없는 폴더일 경우 -1 페이지 이동 처리를 했다. (파일 설치 페이지가 폴더 선택 페이지 바로 다음이었다.)

NSIS 메뉴얼 너무 부실해.. -_ㅠ
반응형

'저장고 > 기타' 카테고리의 다른 글

[MSSQL] CASE 함수  (0) 2008.05.19
자신의 외부 IP를 알고 싶을 때... :)  (2) 2006.12.06
MS-SQL 매일 날짜별로 백업화일 생성하기  (0) 2006.10.17

+ Recent posts