Customizing an exsisting NSIS MUI2 page

后端 未结 1 707
無奈伤痛
無奈伤痛 2020-12-21 19:44

I have added a checkbox successfully to nsis installer\'s finish page defining functions for MUI_PAGE_CUSTOMFUNCTION_PRE and MUI_PAGE_CUSTOMFUNCTION_SHOW<

相关标签:
1条回答
  • 2020-12-21 20:27

    MUI1 uses InstallOptions for the Welcome and Finish pages and MUI2 uses nsDialogs.

    This is documented in the MUI2 readme:

    The welcome and finish page are no longer implemented using InstallOptions. Instead, the new nsDialogs plug-in is used. nsDialogs allows you to create custom pages or customize existing pages directly from the script.

    Edit: Customize the page by using the nsDialogs commands in the show callback:

    var Checkbox
    
    Function MyFinishShow
    ${NSD_CreateCheckbox} 120u 110u 100% 10u "&Something"
    Pop $Checkbox
    SetCtlColors $Checkbox "" "ffffff"
    FunctionEnd
    
    Function MyFinishLeave
    ${NSD_GetState} $Checkbox $0
    ${If} $0 <> 0
        MessageBox mb_ok "Custom checkbox was checked..."
    ${EndIf}
    FunctionEnd
    
    !define MUI_FINISHPAGE_RUN "calc.exe" ;See note after the code...
    !define MUI_PAGE_CUSTOMFUNCTION_SHOW MyFinishShow
    !define MUI_PAGE_CUSTOMFUNCTION_LEAVE MyFinishLeave
    !insertmacro MUI_PAGE_FINISH
    

    Or if you are not using the existing finish page checkboxes, you can use those for custom stuff without using the show callback...

    0 讨论(0)
提交回复
热议问题