自动更新
Last updated
Was this helpful?
Last updated
Was this helpful?
autoUpdater
模块为框架提供了一个接口。
进程:
您可以使用这些项目之一进行快速启动多平台发布服务器以分发应用程序:
:为您的应用程序使用智能版本服务器,使用GitHub作为后端。使用Squirrel(Mac和Windows)自动更新
:功能齐全,自主托管的electron应用程序的发布服务器,兼容自动更新器
:简单的node.js服务器为Squirrel.Mac和Squirrel.Windows使用GitHub版本
[squirrel-release-server][squirrel-release-server]:简单的Squirrel.Windows的PHP应用程序,它从文件夹读取更新。支持增量更新。
虽然 autoUpdater
模块提供了一套各平台通用的接口,但是在每个平台间依然会有一些微小的差异。
在macOS上,autoUpdater
模块建立在上,这意味着你不需要任何特殊的设置来使它工作。
对于服务器端要求,您可以阅读 .
注意(ATS)适用于所有请求作为更新过程的一部分。
如需禁用ATS的应用程序可以在其应用程序的plist中添加 NSAllowsArbitraryLoads
键。
注意:您的应用程序必须在macOS上进行自动更新。这是的要求。
您应确保程序具有 app.setAppUserModelId
API且ID相同,否则Windows将无法在应用程式的工作列中正确匹配您的应用程序。
在Linux上没有自动更新器的内置支持,因此建议使用分发包的包管理器来更新您的应用程序。
autoUpdater
对象会触发以下的事件:
触发:更新发生错误时
error
Error
触发:开始检查更新时
触发:发现一个可用更新时
触发:没有可用更新时
触发:更新下载完成时
event
Event
releaseNotes
String - 新版本更新公告
releaseName
String - 新的版本号
releaseDate
Date - 新版本发布的日期
updateURL
String - 更新地址
在 Windows 上只有 releaseName
是有效的。
autoUpdater
对象有以下的方法:
autoUpdater.setFeedURL(url)
用途:设置
url
并初始化自动更新器
url
String
requestHeaders
Object macOS (可选) - HTTP请求标头.
autoUpdater.getFeedURL()
用途:获得当前更新的Feed链接
返回 String
autoUpdater.checkForUpdates()
用途:询问服务器是否有更新
在调用这个方法之前,必须要先调用 setFeedURL
。
autoUpdater.quitAndInstall()
用途:重新启动应用程序,并在更新已下载后安装
该方法只有在 update-downloaded
被释放后才被调用。
注意项: autoUpdater.quitAndInstall()
和普通退出有所区别,它将先关闭所有应用程序窗口,然后在 app
上发出 before-quit
事件。
在 Windows 上,你必须使用安装程序将你的应用装到用户的计算机上,所以比较推荐的方法是用 , 或 模块来生成Windows安装程序。
当使用或, 时,确保你不要尝试更新你的应用程序(另见)。还建议使用获取应用程序的桌面快捷方式。
使用Squirrel生成的安装程序将以 com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE
的格式创建一个带有的快捷图标,例子是 com.squirrel.slack.Slack'和
com.squirrel.code.Code`。
服务器端设置也不同于macOS。您可以阅读的文档以获得更多详细信息。
[squirrel-release-server]: