如何跳过 NSIS“组件”页面?

Posted

技术标签:

【中文标题】如何跳过 NSIS“组件”页面?【英文标题】:How can I skip the NSIS "components" page? 【发布时间】:2011-05-04 21:32:26 【问题描述】:

我正在使用 NSIS 为只有一个可安装组件的 Java 应用程序创建安装程序(带有“现代”用户界面)。在这种情况下向用户显示“组件”页面似乎很愚蠢。我怎样才能抑制该页面?我尝试在我的脚本中将其注释如下:

...
!insertmacro MUI_PAGE_LICENSE "..\..\..\src\main\nsis\Readme.txt"
;!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
...

但这导致了各种可怕的警告(尽管安装程序似乎确实有效):

[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:4)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:5)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText.Info" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:7)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:8)

我找到了一个NSIS wiki entry about skipping pages,但无法确定它的首尾。

【问题讨论】:

【参考方案1】:

您需要从脚本中删除组件描述宏(MUI_FUNCTION_DESCRIPTION_BEGIN、MUI_DESCRIPTION_TEXT、MUI_FUNCTION_DESCRIPTION_END)

【讨论】:

成功了,谢谢!作为一个新的 NSIS 用户,我不知道这些宏与组件页面有任何关系。这当然不是不言而喻的。 好吧,您在那里分配的文本仅在组件页面上可见,并且警告以 mui.ComponentsPage =) 开头的事实

以上是关于如何跳过 NSIS“组件”页面?的主要内容,如果未能解决你的问题,请参考以下文章

NSIS - 另一种为静默模式调用页面回调函数的方法

跳过基于 Inno Setup 中可选组件的自定义页面

NSIS如何去掉卸载页面的是不是重启选择

向 NSIS 卸载程序欢迎页面添加复选框

NSIS 安装程序许可证页面仅显示“关闭”和“取消”按钮

如何使用 nsis 获取多个显卡信息?