【问题标题】:NSIS - another way to call page call back functions for Silent ModeNSIS - 另一种为静默模式调用页面回调函数的方法
【发布时间】:2021-03-23 14:01:52
【问题描述】:

在 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

有什么建议吗?

【问题讨论】:

    标签: nsis silent-installer


    【解决方案1】:

    您不应该在页面功能中执行所需的操作。

    如果您想支持静默安装,则应在.onInit 中将所有必需的设置/变量设置为其默认/首选值,并且应在Section 中执行实际安装步骤。

    如果您想忽略我的建议,那么您当然可以在第一部分的第一步中调用函数:

    !include LogicLib.nsh
    Section
    ${If} ${Silent}
    Call WelcomePagePre 
    Call ...
    ${EndIf}
    SectionEnd
    

    这要求您的页面功能实际上并不需要 UI 存在(这不太可能)。在静默模式下,页面不会被隐藏,它们根本不存在!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多