두 번째 라이센스 페이지가 있고 두 번째 라이센스 페이지에서 타사 앱을 설치하지 않기로 선택하면 완료 페이지가 표시됩니다. 지금까지 나는 MUI_CUSTOMFUNCTION_ABORT onUserAbort
을 사용하여 마무리 페이지로 이동합니다.사용자가 라이선스 페이지에서 취소를 클릭하면 마무리 페이지를 표시합니다. NSIS
하지만 사용자가 건너 뛰기 버튼을 클릭하면 (실제로는 취소 버튼이며 이름을 Skip으로 변경) 라이센스 페이지에 계속 남아있을 것이며 설치 버튼이 다음 버튼으로 변경됩니다 (이미지 1 -> 이미지 2 -> 이미지 삼). 내가 Abort
을 onUserAbort
에 호출했기 때문에 이것이 일어난다는 것을 알고 있습니다. Abort
으로 전화하지 않으면 사용자가 건너 뛰기를 클릭하면 창이 자동으로 닫힙니다.
마침 페이지로 직접 이동하는 방법을 알고 있습니까? (이미지 1 -> 이미지 2없는 이미지 3)
!insertmacro MUI_PAGE_WELCOME
page custom CheckHWSpecs ShowNotMeetRequirementDialog
!insertmacro MUI_PAGE_LICENSE "${SOURCEFOLDER}\license1.txt"
!define MUI_DIRECTORYPAGE_VERIFYONLEAVE
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
!insertmacro MUI_PAGE_INSTFILES
!define MUI_LICENSEPAGE_CHECKBOX
!define MUI_PAGE_CUSTOMFUNCTION_PRE Lic2Pre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW Lic2Show
!insertmacro MUI_PAGE_LICENSE "${SOURCEFOLDER}\license2.txt"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!define MUI_CUSTOMFUNCTION_ABORT onUserAbort
!insertmacro MUI_LANGUAGE English
Lic2Pre의 코드 : Lic2Show에
Function Lic2Pre
StrCpy $R8 2
FunctionEnd
코드 :
Function Lic2Show
GetDlgItem $0 $hwndparent 2
SendMessage $0 ${WM_SETTEXT} 0 "STR:Skip"
!insertmacro SelectSection ${SEC0013}
!insertmacro UnselectSection ${SEC0000}
!insertmacro UnselectSection ${SEC0002}
!insertmacro UnselectSection ${SEC0003}
!insertmacro UnselectSection ${SEC0004}
!insertmacro UnselectSection ${SEC0005}
!insertmacro UnselectSection ${SEC0007}
!insertmacro UnselectSection ${SEC0010}
!insertmacro UnselectSection ${SEC0011}
!insertmacro UnselectSection ${SEC0012}
FunctionEnd
특정 페이지로 이동하는 코드 :
Function RelGotoPage
IntCmp $R9 0 0 Move Move
StrCmp $R9 "X" 0 Move
StrCpy $R9 "120"
Move:
SendMessage $HWNDPARENT "0x408" "$R9" ""
FunctionEnd
사용자 ab의 사용자 지정 기능 오트 :
Function onUserAbort
StrCmp $R8 2 0 End
StrCpy $R9 2
Call RelGotoPage
Abort
End:
FunctionEnd
에 Go to a NSIS page 살펴 유무 : RelGotoPage를하지만 이후 취소 버튼, Abor를 사용해야합니다. 티 – currarpickt