将自定义页面/字段添加到使用电子生成器创建的NSIS设置中



我创建了一个Electron应用程序,该应用程序被打包到带有电子生成器的NSIS安装程序中。

现在我想向安装程序添加一个自定义文本字段,用户可以在其中输入一个值(该值应保存到磁盘/注册表中,稍后需要在应用程序中可用(。

我看到安装程序中定义了一个customWelcomePage宏,它可能(误(用于此目的?但是我将如何创建一个创建完整页面的宏呢?NSIS 对我来说是全新的,NSIS 页面上的示例似乎是针对独立安装程序的,而不是用于挂钩到现有安装程序。还是有另一种更好的方法?

我最近一直在做同样的事情。这是我所做的:

首先,使用 include 选项指向一个 .nsh 文件(我在 package.json 中执行此操作(:

{
"build": {
"appId": "...",
"nsis": {
"include": "build/installer.nsh"
}
}
}

然后,您可以将自定义 NSIS 代码放入该 .nsh 文件中:

!include nsDialogs.nsh
XPStyle on
Var Dialog
Page custom myCustomPage
Function myCustomPage
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
...
nsDialogs::Show
FunctionEnd
Section
SectionEnd

我在创建自定义页面时根据 Mevia 的问题改编了代码。这将创建一个在实际安装之前出现的页面(Mevia 的问题(,因此您应该小心保存输入数据的位置。

我相信使用include而不是script可以让您为单个页面编写代码,而不必自己编写整个安装程序脚本。

最新更新