nsis - 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 存在(这不太可能)。在静默模式下,页面不会隐藏,它们根本不存在!
推荐阅读
- excel - 将焦点从 Outlook 更改为 Excel
- latex - 带标签的文本(很像带标签的方程式)
- python - 将多列从行旋转到列
- reactjs - 使用 TypeScript 将具有类型字段的数据对象映射到特定的 React 组件
- python - 如何将文本文件解析为python中的列表
- python - 如何将空格分隔的数据读入numpy数组?
- postgresql - 如何在 PostgreSQL 中进行 DML 操作时获取索引是否更新的统计信息?
- applescript - 获取文件别名的原始项目的路径,当它丢失时
- java - 哪个 Jakarta ee 版本与 Java 10 兼容?
- javascript - 为什么 startOfMonth 会产生与 endOfMonth 不同的时区