electron - 在NSIS安装中包括非 Electron 文件夹

标签 electron nsis

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

* 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/文件夹。我尝试通过将package.json文件夹添加到files部分并将其放置在项目的根目录中来修改additional_files/文件。

我什至尝试将其放在build脚本所在的installer.nsh文件夹中,但是没有运气。

最佳答案

File查找相对于默认情况下.nsi目录的文件。 /NOCD可以用来防止这种情况,但是我不确定 Electron 是否使用该开关。
!cd可以在脚本内使用以更改目录,但是我不确定在这种情况下这是否对您有很大帮助,除非您愿意使用绝对路径,并且在这种情况下您可以将绝对路径与改为使用File指令。

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

关于electron - 在NSIS安装中包括非 Electron 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62200522/

相关文章:

jar - 如何使用 NSIS 创建图标快捷方式?

nsis - 在NSIS中使用 'ExecWait'时禁止Windows命令输出

javascript - 如何自动化使用Electron框架开发的桌面应用程序?

node.js - Electron 更新程序的功能quitAndInstall

typescript - Electron v14 TypeScript 类型定义中缺少 enableRemoteModule

nsis - 改变我的 NSIS 的外观

installation - NSIS 脚本可以添加 2 个整数和 'OR' 一个 StrCmp

installation - NSIS - 仅在安装完成时运行程序

javascript - 在控制台中获取数据但在主输出中显示未定义

javascript - 在 Electron/NodeJS 应用程序中捕获命令行响应