将Electron应用程序自动更新到特定(非最新)版本

将Electron应用程序自动更新到特定(非最新)版本,electron,auto-update,electron-updater,Electron,Auto Update,Electron Updater,我需要支持每个用户(或组)的特殊版本,并且我希望每个用户只有在适合自己的情况下(通过后端的某种逻辑)才会自动更新到新的可用版本。 我尝试使用electron builder和内置模块来实现这一点,但似乎在调用autoUpdater.checkForUpdates时,两者都会获取最新版本 我已经看到,其中一些(比如nuts)支持特定版本的下载url。 如使用所述 检测到的平台的特定版本: 但似乎不支持使用autoUpdater在应用程序中请求特定版本 总结所有这些:如何实现对最新版本以外的特定版本

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

我已经看到,其中一些(比如nuts)支持特定版本的下载url。 如使用所述

检测到的平台的特定版本:

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

总结所有这些:如何实现对最新版本以外的特定版本的自动更新?

我的解决方案是

appUpdater.channel
(getter和setter)

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

请注意,使用GitHub作为提供程序时(目前),不支持通道,如中所述:

channel
String-获取更新频道不适用于GitHub。不从更新配置返回通道,仅当先前已设置

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

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

我的解决方案是

appUpdater.channel
(getter和setter)

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

请注意,使用GitHub作为提供程序时(目前),不支持通道,如中所述:

channel
String-获取更新频道不适用于GitHub。不从更新配置返回通道,仅当先前已设置

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

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