我创建了一个 Electron 应用程序,它被打包到带有 electron-builder 的 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 的代码的 question当我创建自定义页面时。这将使一个页面出现在实际安装之前(Mevia 的问题),因此您应该小心保存输入数据的位置。
我相信使用 include
而不是 script
可以让您为单个页面编写代码,而不必自己编写整个安装程序脚本。
关于electron - 将自定义页面/字段添加到使用 electron-builder 创建的 NSIS 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51185663/