1

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

但是,如果我包含MUI2而不是MUI,则不会显示该复选框。我想在这方面有一些不同的MUI2东西MUI。如果有人知道,我找不到有关该文件的文档,我可以知道吗???

谢谢

4

1 回答 1

7

MUI1 将 InstallOptions 用于 Welcome 和 Finish 页面,MUI2 使用 nsDialogs。

这记录在MUI2 自述文件中:

欢迎和完成页面不再使用 InstallOptions 实现。而是使用新的 nsDialogs 插件。nsDialogs 允许您直接从脚本创建自定义页面或自定义现有页面。

编辑:使用 show 回调中的 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 回调...

于 2011-06-30T17:24:37.690 回答