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

问题描述 投票:1回答:1

我创建了一个Electron应用程序,它使用电子构建器打包到NSIS安装程序中。

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

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

electron nsis electron-builder
1个回答
0
投票

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

首先,使用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

当我创建自定义页面时,我修改了Meviaquestion中的代码。这将使页面出现在实际安装之前(Mevia的问题),因此在保存输入数据的地方应该小心。

我相信使用include而不是script是允许您为单个页面编写代码的原因,而不是必须自己编写整个安装程序脚本。

© www.soinside.com 2019 - 2024. All rights reserved.