【问题标题】:Include non-electron folder as part of the NSIS installation包括非电子文件夹作为 NSIS 安装的一部分
【发布时间】:2020-06-04 17:18:35
【问题描述】:

我一直在尝试向电子安装程序添加额外的功能,我复制了一些打包在安装程序中的文件,但是当我尝试编译我的电子项目以创建安装程序时收到一个非描述性错误,即我明白了:

* writing effective config
* packaging
* building
x [object Object]

这是我的脚本的样子:

!macro customInstall
  Rename "$APPDATA\myfolder\img" "$APPDATA\myfolder\img-old"
  SetOutPath "$APPDATA\myfolder"
  File /nonfatal /a /r "additional_files\*"
  CreateShortcut "$SMSTARTUP\mylink.lnk" "$INSTDIR\mylink.exe"
!macroend

除了文件复制部分,基本上一切正常。当我删除该部分时,项目构建并编译到安装程序中没有问题。

我还尝试使用CopyFiles 代替SetOutPathFile,当我将additional_files 文件夹放入与安装相同的文件夹(dist 文件夹)时,它可以正常工作,但是我希望将文件夹打包在安装程序中。但是,我无法将additional_files 与安装打包在一起。

我认为这是一个位置问题,即NSIS 脚本无法找到additional_files/ 文件夹。我尝试通过将additional_files/ 文件夹添加到files 部分并将其放在项目的根目录中来修改package.json 文件。

我什至尝试将它放在我的installer.nsh 脚本所在的build 文件夹中,但没有成功。

【问题讨论】:

  • 如果你删除非致命的会发生什么?电子生成器是否隐藏了 makensis 错误消息?
  • 你在用electron-builder吗?
  • @tpikachu 是的,我是
  • @Anders 它不应该隐藏来自 makensis 的错误消息,但似乎我正在使用的电子生成器版本确实并且只显示[object Object]。我使用的electron-builder的版本是21.2.0

标签: electron nsis


【解决方案1】:

File 查找与默认 .nsi 所在目录相关的文件。 /NOCD 可用于防止这种情况发生,但我不确定电子是否使用该开关。

!cd 可以在脚本中用于更改目录,但我不确定在这种情况下这是否会对你有很大帮助,除非你愿意使用绝对路径,在这种情况下你可以使用File 指令的绝对路径。

如果你只知道你的 .nsh 文件在哪里,我想你可以试试File /r "${__FILEDIR__}\additional_files\*"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    相关资源
    最近更新 更多