I use electron-builder
构建我的应用程序并成功构建第一个版本,其中包含三个输出:foosetup.exe、foo-0.0.1-full.nupkg 和 RELEASES。现在我想实现自动更新,并且我已经部署了后端服务通过使用electron-release-server
.
自动更新需要设置一个feedURL
它将用于获取更新,但问题是我不知道更新到底意味着什么?是foo-0.0.1-full.nupkg
or the foo-0.0.1-delta.nupkg
或其他文件?
第二个问题是我不知道如何创建增量文件。我只能找到一个选项remoteReleases
in electron-builder
这是a URL to your existing updates.If given,these will be downloaded to create delta file
.但是这个URL到底意味着什么?我找到了一个例子"remoteRelease": "https://github.com/user/repo"
,它会创建一些版本并为每个版本上传许多额外的文件,例如foosetup.exe
, foo-xx-full-nupkg
, RELEASES
。我猜electron-builder
将获取${remoteReleases/release/download/some-version/xxx}
下载文件,然后比较两个文件以创建增量文件,但我无法上传RELEASES
当我在 github 上创建版本时,它报告说they don't support this file type
。
有谁可以帮忙吗?对于初学者来说文档太少了
For 电子发布服务器请看一下the docs https://github.com/ArekSredzki/electron-release-server/blob/master/docs/update-windows.md.
如果您使用,增量文件将自动创建电子制造商。但为了让它发挥作用remoteReleases
必须设置为有效(且可访问)的 URLplus必须至少有一个名为的空文件RELEASES
。因此,对于第一个构建,只需创建一个空文件并调用它RELEASES
.
在每个未来的构建中都会有一个RELEASES
为您创建的文件。将所有生成的文件扔到您的发布服务器中(覆盖现有的RELEASES
),一切都会好起来的。
注意力: For electron-release-server
你不需要RELEASES
产生于electron-builder
. electron-release-server
会自己创建一个。
要开始自动更新,我建议您在本地设置一个非常简单的发布服务器。 IE。:
- 创建一个目录并抛出一个空文件
RELEASES
在那里。
- 然后启动一个指向该目录的简单网络服务器(例如
cd into/your/dir && php -S 0.0.0.0:80
).
- 编辑你的
package.json
: "remoteRelease": "http://localhost"
- 然后构建你的安装程序:
npm run dist
它应该成功构建,并且您应该在本地服务器上看到一些 GET 请求。
- 将生成的文件放入您创建的目录中。
- 现在增加您的版本并开始另一个构建:
npm run dist
您应该再次看到一些 GET 请求,并且应该创建一个附加的增量文件。
- 再次将所有这些内容填充到目录中(或者对于电子发布服务器,将资产 .nupkg、.exe 和 delta 上传到新版本中)。
希望有帮助。如果有不清楚的地方,请随时发表评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)