1

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

我已经看到,在部署我自己的更新服务器时,其中一些(例如坚果)支持特定版本的下载 url。如使用螺母所述

检测平台的特定版本:http: //download.myapp.com/download/1.1.0

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

总结这一切:如何实现自动更新到最新版本以外的特定版本?

4

1 回答 1

0

我的解决方案是channels

appUpdater.channel(getter 和 setter)

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

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

channelString - 获取更新通道。不适用于 GitHub。不从更新配置返回通道,仅当之前设置过。

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

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

于 2019-12-05T07:17:48.833 回答