0
5 개의 섹션/구성 요소로 구성된 설치 프로그램을 만들었습니다. 구성 요소 페이지가 어떤 구성 요소가 설치되었는지 확인하기 전에 사전 기능을 만들었습니다. 현재 설치되지 않은 구성 요소 만 구성 요소 페이지에 표시되어야합니다.NSIS는 섹션을 제거한 후에도 설치합니다.
!define MUI_PAGE_CUSTOMFUNCTION_PRE selectSections
!insertmacro MUI_PAGE_COMPONENTS
...
Function selectSections
; remove sections which are already installed
ReadRegStr $0 HKLM "${REG_INSTALL}" "SEC_EXTRACTOR"
IfErrors +2
!insertmacro RemoveSection ${SEC_EXTRACTOR}
!insertmacro SelectSection ${SEC_EXTRACTOR}
; so on for all components
FunctionEnd
그래서 모든 구성 요소를 먼저 설치 한 다음 설치 프로그램을 다시 실행합니다. 이번에는 구성 요소 페이지에 구성 요소가 표시되지 않습니다. 그러나 해당 페이지에서 install을 누르면 모든 섹션이 여전히 실행됩니다. 누구든지 도와 줄 수 있습니까?
는 (나는 어떤 구성 요소를 나열하지 않는 구성 요소 페이지에서 설치 버튼을 눌렀습니다.하지만 세부 정보 창에서 그 부분이 설치되는 참조하십시오.) 때문에 매크로를 건너 뛸 상대 점프를 사용하지 마십시오
감사합니다. Anders! 이제 올바르게 작동합니다. – Puneet