Appel de fonctions PRE de MUI dans l'installateur NSIS, sauter pages / boîtes de dialogue dans l'installateur NSIS

StackOverflow https://stackoverflow.com/questions/5828879

Question

La fonction peut PRE d'une boîte de dialogue MUI être appelée uniquement lorsque cela est nécessaire?

!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipComponentsPage
!insertmacro MUI_PAGE_COMPONENTS

Function SkipComponentsPage
 Abort
MessageBox MB_OK "You chose to UPDATE your current version"
FunctionEnd

// Cette section sera cochée par défaut, qui est, l'utilisateur ne sera pas en mesure de sélectionner ou désélectionner cette section, il doit être exécuté .......... comment faire cela? Pour masquer , je l'ai inclus un signe - en son nom. son nom est « obligatoire »

Section "-mandatory" SEC_UPDATE
    #Do update............
SectionEnd

J'ai deux RadioButtons (Demo) et mise à jour sur ma page de dialogue personnalisée dans le programme d'installation NSIS. Je veux que lorsque les utilisateurs pour droits incorporels installer le UPDATE (UPDATE RadioButton les droits incorporels), les composants page est ignorée, et une section spécifiée est automatique et exécuté VÉRIFIÉ.

Mais si l'utilisateur les droits incorporels pour installer le DEM (DEMO RadioButton droits incorporels), la page des composants n'est pas sauté et l'utilisateur peut cocher ou décocher les sections sur cette page des composants.

Était-ce utile?

La solution

A page callback is always called, but you can put logic inside the function:

...
section "" SEC_UPDATE 
sectionend

Function SkipComponentsPage
!insertmacro UnSelectSection ${SEC_UPDATE} ; Don't include update with demo by default?
${If} $InstallType == UPDATE
    !insertmacro SelectSection ${SEC_UPDATE}
    Abort
${EndIf}
Functionend

It is not really clear to me if you want the user to be able to choose update in the demo mode, but if you want to force the update you can make the section read only:

section "Update" SEC_UPDATE 
SectionIn RO
sectionend

(And remove the UnSelectSection call from the pre function)

...or just make the section invisible with the -name prefix like you suggested.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top