如何向NSIS安装程序添加新页面

时间:2018-11-07 10:58:30

标签: nsis

我的要求是,我需要在“目录”页面之后添加一个新页面(例如,“ newpage”)。为此,我需要将“目录”页面中的按钮(安装)更改为(下一步),以便可以通过单击“下一步”来创建新页面。

为此,我验证了路径(NSIS / Contrib / Modern UI 2 / Pages)中的“目录”页面

我没有找到“

稍后,我验证了“接口”页面,并找到了“下一步”,“取消”和“返回”按钮。但是找不到“安装”按钮。

在哪里可以找到“安装”按钮?

还有如何创建新页面?我们可以为“ newpage”创建一个新的NSI文件并将其包含在主.nsi文件中吗?

如果我创建一个新的NSI文件,是否需要在不同文件中为所有必需的语言创建字符串以进行本地化?

而且如果我创建其他语言文件,我可以将它们放置在本地目录文件夹中吗?

1 个答案:

答案 0 :(得分:0)

NSIS为您自动更改“下一步” /“安装”按钮的文本。仅InstFiles页面之前的页面使用“安装”字符串作为按钮文本。

您必须使用插件来创建自定义页面。最常用的页面插件是nsDialogs,它是默认NSIS安装的一部分。

您不必将自定义页面或翻译字符串放在单独的.nsh文件中,您可以将代码直接放在.nsi中:

Unicode True
Page Components
Page Directory
Page Custom MyPageCreate
Page InstFiles

LoadLanguageFile "${NSISDIR}\Contrib\Language Files\English.nlf"
LangString MyLabelText ${LANG_ENGLISH} "Hello World"
LoadLanguageFile "${NSISDIR}\Contrib\Language Files\Swedish.nlf"
LangString MyLabelText ${LANG_SWEDISH} "Hej bork bork"

!include nsDialogs.nsh

Function MyPageCreate
nsDialogs::Create 1018
Pop $0

${NSD_CreateLabel} 0 0 100% 12u "$(MyLabelText)"
Pop $0

nsDialogs::Show
FunctionEnd

如果要将翻译放在单独的文件中,则应查看\NSIS\Include\LangFile.nsh,它包含一个示例,该示例使用MUI和帮助程序宏在外部文件中创建其他翻译字符串。