【问题标题】:Auto-update Electron app to a specific (non-latest) version将 Electron 应用程序自动更新到特定(非最新)版本
【发布时间】:2020-03-25 16:19:17
【问题描述】:

我需要支持每个用户(或组)的特殊版本,并且我希望每个用户只有在适合他的情况下才会自动更新到新的可用版本(通过后端中的某种逻辑)。 我尝试通过使用 electron-builder 的 electron-updater module 以及使用内置模块 Electron's autoUpdater 来做到这一点,但似乎两者在调用 autoUpdater.checkForUpdates 时总是获取最新版本。

我看到当deploying my own update server 时,其中一些(例如坚果)支持特定版本的下载网址。 如使用nuts 描述的那样

检测到的平台的具体版本:http://download.myapp.com/download/1.1.0

但似乎不支持使用 autoUpdater 在应用程序本身中请求特定版本。

总结所有这些:如何实现自动更新到特定版本而不是最新版本?

【问题讨论】:

    标签: electron auto-update electron-updater


    【解决方案1】:

    我的解决方案是channels

    appUpdater.channel(getter 和 setter)

    定义自动更新程序将遵循的频道(请参阅 使用频道自动更新教程)使用appUpdater.channel = 'beta' 或者通过currentChannel = appUpdater.channel获取当前频道。

    请注意,使用 GitHub 作为提供者时不支持通道(目前),如electron-builder autoUpdate documentation 中所述:

    channel String - 获取更新频道。 不适用于 GitHub。不会从更新配置中返回频道,只有在之前设置过。

    您可以将频道名称设置为任何名称,甚至可以动态(如果需要)引导您的用户从该频道提取更新。

    您还可以手动编辑{your-channel-name}.latest 文件并添加有助于确定当前“请求更新”用户是否应该使用特定版本的参数(例如在来自updateInfo 参数的update-available 事件中)。

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多