2012-04-30 3 views
2

나는 스크롤 라이센스 플러그인과 상호 작용하는 데 문제가 설치 프로그램이 있습니다. 설치 프로그램이 플러그인없이 좋은 작품이 플러그인은 나를 포함이 무엇 :NSIS 스크롤 라이센스 시작 화면

! 

include MUI.nsh 

!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow 
!insertmacro MUI_PAGE_LICENSE "EULA.txt" 

unction LicenseShow 
ScrollLicense::Set /NOUNLOAD 
FunctionEnd 

Function .onGUIEnd 
ScrollLicense::Unload 
FunctionEnd 

Section A 
Section End 

내가으로 실행하는 문제는 여기에있다. 시작 페이지가 라이센스 페이지 전에 표시되면 스크롤 막대를 찾고 있기 때문에 다음 화면으로 진행 버튼을 받아 들일 수 없습니다. WELCOME 페이지를 삭제해도 문제가 없습니다. 누구든지이 플러그인에 대한 경험이 있습니까? 또는 내가 어떻게 MUI_PAGE_WELCOME을 무시하는 플러그인을받을 수 있나요? (직접 MUI_PAGE_LICENSE 라인 이상,보다 구체적으로) 행 아래

!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow 

:

!insertmacro MUI_PAGE_WELCOME <--- If I remove this Welcome page everything works great! 
!insertmacro MUI_PAGE_LICENSE "eula.rtf" 
!insertmacro MUI_PAGE_DIRECTORY 
!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_PAGE_FINISH 
!insertmacro MUI_UNPAGE_CONFIRM 
!insertmacro MUI_UNPAGE_INSTFILES 
+1

나는 당신의 파일에 대해 혼란 스러워요. 첫 번째 블록인가 두 번째 블록인가? – crashmstr

답변

1

라인 이동 시도 ScrollLicense로부터 공급되는

!insertmacro MUI_PAGE_WELCOME 

I는 ExampleCheckBox.nsi 사용 내가 가진 경우 플러그인은 당신의 행동을 재현 :

!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow 
!insertmacro MUI_PAGE_WELCOME 
!insertmacro MUI_PAGE_LICENSE ExampleCheckBox.nsi 
나는 이동하는 경우

이 문제는 도망 갔어요하세요 MUI_PAGE_WELCOME 이후에 라인을 정의합니다.

!insertmacro MUI_PAGE_WELCOME 
!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow 
!insertmacro MUI_PAGE_LICENSE ExampleCheckBox.nsi 

나는이 플러그인에 익숙하지 않아요하지만 난 다음 표시된 페이지의 다음 버튼을 비활성화 부작용의 일종이 의심 ...

+0

완료 !!!!! 고마워요.이 트릭을했습니다! – user1304228

1

나는 당신이 누락이 생각 예제가 다른 MUI 페이지의 "흐름"에 어떻게 들어 맞아야하는지 설명합니다.

!include MUI.nsh 

;;this goes before the License page if you want it first. 
!insertmacro MUI_PAGE_WELCOME 

;;now add the example stuff 
!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow 
!insertmacro MUI_PAGE_LICENSE "EULA.txt" ;;update for what file you want to include! 

Function LicenseShow 
    ScrollLicense::Set /NOUNLOAD 
FunctionEnd 

Function .onGUIEnd 
    ScrollLicense::Unload 
FunctionEnd 

;;now continue with the rest of the pages 
;;and we *don't* repeat the MUI_PAGE_LICENSE 
!insertmacro MUI_PAGE_DIRECTORY 
!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_PAGE_FINISH 
!insertmacro MUI_UNPAGE_CONFIRM 
!insertmacro MUI_UNPAGE_INSTFILES