自定义现有的NSIS MUI2页面



我已经成功地在nsis安装程序的完成页面中添加了一个复选框,该复选框使用MUI在完成页面中定义MUI_PAGE_CUSTOMFUNCTION_PREMUI_PAGE_CUSTOMFUNCTION_SHOW的功能。

但是,如果我包含MUI2而不是MUI,则不会显示复选框。我想MUI2MUI在这方面有一些不同之处。我找不到关于这方面的文件,如果有人知道,我能知道吗???

感谢

MUI1在欢迎和完成页面使用InstallOptions,而MUI2使用nsDialogs。

这在MUI2自述文件中有记载:

欢迎页面和结束页面均为否使用实现时间更长InstallOptions。相反使用nsDialogs插件。nsDialogs允许您创建自定义页面或直接从自定义现有页面脚本。

编辑:使用show callback中的nsDialogs命令自定义页面:

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

或者,如果您没有使用现有的完成页复选框,您可以在不使用show回调的情况下将这些复选框用于自定义内容。。。

最新更新