如何解决NSIS - 另一种为静默模式调用页面回调函数的方法
在 NSIS 的静默模式安装期间,是否有其他方法可以调用页面自定义函数?
我对每个页面都有一些函数,那么如何在静默模式下依次调用这些函数?
我们有这样的东西,
!define MUI_PAGE_CUSTOMFUNCTION_PRE WelcomePagePre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE WelcomePageLeave
!define MUI_PAGE_CUSTOMFUNCTION_PRE DirectoryPagePre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirectoryPageLeave
!define MUI_PAGE_CUSTOMFUNCTION_PRE InstFilesPre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW InstFilesShow
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE InstFilesLeave
!define MUI_CUSTOMFUNCTION_ABORT onUserAbort
有什么建议吗?
解决方法
您不应该在页面功能中执行所需的操作。
如果您想支持静默安装,那么您应该在 .onInit
中将所有必需的设置/变量设置为其默认/首选值,并且实际安装步骤应该在 Section
中执行。
如果你想忽略我的建议,那么你当然可以在第一部分的第一步中调用函数:
!include LogicLib.nsh
Section
${If} ${Silent}
Call WelcomePagePre
Call ...
${EndIf}
SectionEnd
这要求您的页面功能实际上不需要存在 UI(这不太可能)。在静默模式下,页面不会隐藏,它们根本不存在!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。