electron - 包括非电子文件夹作为 NSIS 安装的一部分
问题描述
我一直在尝试向电子安装程序添加额外的功能,在那里我复制了一些打包在安装程序中的文件,但是当我尝试编译我的电子项目以创建安装程序时收到一个非描述性错误,即我得到:
* 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
而不是SetOutPath
and File
,当我将additional_files
文件夹放入与安装(文件夹)相同的文件夹中时,它可以按预期工作dist
,但我希望将文件夹打包在安装程序中。但是,我无法additional_files
将安装打包。
我认为这是一个位置问题,即NSIS
脚本无法找到该additional_files/
文件夹。我尝试通过将文件夹package.json
添加到files
部分additional_files/
并将其放在项目的根目录中来修改文件。
我什至尝试将它放在build
我的脚本所在的文件夹中installer.nsh
,但没有运气。
解决方案
File
查找相对于 .nsi 默认所在目录的文件。/NOCD
可以用来防止这种情况,但我不确定电子是否使用该开关。
!cd
可以在脚本中使用来更改目录,但我不确定在这种情况下这是否会对你有很大帮助,除非你愿意使用绝对路径,在这种情况下你可以只使用绝对路径和File
指令反而。
如果你只知道你的 .nsh 文件在哪里,我想你可以试试File /r "${__FILEDIR__}\additional_files\*"
推荐阅读
- pandas - Pandas:可以使用哪些“函数名”?(他们是怎么抬头的?)
- python - 在简单的 pandas/matplotlib “barh”图中用一列指定单个条形标签颜色
- kubernetes - 将自定义环境变量传递给 Kong 入口控制器
- typescript - 具有相关参数的通用方法
- r - 当页面未被识别为 XML 页面时,将 XML 网页读入 R 并存储为数据框对象
- node.js - 使用 mosquitto 和 node.js 间歇性地获取 Erorr ECONNRESET
- sqlalchemy - SQLAlchemy - SQL Server TCP 提供程序的 Microsoft ODBC 驱动程序 17:错误代码 0x68 (104) (SQLExecDirectW)
- nativescript - 在“@nativescript/core”中找不到“fileSystemModule”
- excel - 从公式VBA复制值,得到零
- paypal - 卖家的Paypal Onboard,生成的注册链接的奇怪行为