【问题标题】:electron how to create delta file电子如何创建增量文件
【发布时间】:2022-04-28 00:36:42
【问题描述】:

我使用electron-builder 构建我的应用程序并成功构建了包含三个输出的第一个版本:foosetup.exe、foo-0.0.1-full.nupkg 和 RELEASES。现在我想实现自动更新和我已经使用electron-release-server 部署了一个后端服务。

自动更新需要设置一个feedURL来获取更新,但问题是我不知道更新到底是什么意思?是foo-0.0.1-full.nupkg还是foo-0.0.1-delta.nupkg或者另一个文件?

第二个问题是我不知道如何创建增量文件。我可以在electron-builder 中找到一个选项remoteReleases,即a URL to your existing updates.If given,these will be downloaded to create delta file。但是URL 到底是什么意思?我找到了一个例子i 其中"remoteRelease": "https://github.com/user/repo",它会创建一些版本并为每个版本上传许多额外的文件,例如foosetup.exefoo-xx-full-nupkgRELEASES。我猜electron-builder 将获取${remoteReleases/release/download/some-version/xxx} 以下载文件然后比较创建增量文件的两个文件,但是当我在 github 上创建发布时,我无法上传 RELEASES,它报告 they don't support this file type。 有没有人可以提供帮助?对于初学者来说,可以遵循的文档很少

【问题讨论】:

  • 我几乎在同一条船上。似乎没有关于 remoteReleases 应该指向哪里的文档。根?在releases? ...

标签: electron


【解决方案1】:

electron-release-server请查看the docs

如果您使用 electron-builder,则会自动创建增量文件。但是为了使它工作remoteReleases必须设置为一个有效的(和可访问的)URLplus至少必须有一个名为RELEASES的空文件。因此,对于第一次构建,只需创建一个空文件并将其命名为 RELEASES

在以后的每次构建中,都会为您创建一个RELEASES 文件。将所有生成的文件扔到你的发布服务器中(覆盖现有的RELEASES)就可以了。

注意: 对于electron-release-server,您不需要electron-builder 生成的RELEASES。 electron-release-server 会自己创建一个。


要开始使用自动更新,我建议您在本地设置一个非常简单的发布服务器。即:

  • 创建一个目录并在其中放入一个空文件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 请求,并且应该会创建一个附加的 delta 文件。
  • 再次将所有这些内容放入目录中(或者对于电子发布服务器,将资产 .nupkg、.exe 和 delta 上传到新版本中)。

希望对您有所帮助。如果有不清楚的地方,请随时发表评论。

【讨论】:

    【解决方案2】:

    查看我创建的这个示例应用程序https://github.com/electron-delta/electron-sample-app

    它使用两个 npm 包。

    1. @electron-delta/builder
    2. @electron-delta/updater

    更多详情https://github.com/electron-delta/electron-delta#installation

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 2013-04-15
      • 2019-05-27
      • 1970-01-01
      • 2022-09-25
      • 2012-01-23
      • 2012-09-05
      • 2013-08-23
      相关资源
      最近更新 更多