JSRUN 用代码说话

自动更新功能autoUpdater

编辑教程

自动更新功能autoUpdater

autoUpdater

启用应用程序自动更新。

过程: main

autoUpdater模块为Squirrel框架提供了一个界面。

您可以通过使用以下任一项目快速启动多平台发布服务器来分发应用程序:

坚果
您的应用程序的智能版本服务器,使用GitHub作为后端。 用Squirrel(Mac&Windows)自动更新
电子发布服务器
一个功能齐全的自主发布的电子应用服务器,与自动更新兼容
squirrel-updates-server
用于Squirrel.Mac和Squirrel.Windows的简单node.js服务器,它使用GitHub版本
squirrel-release-server
一个用于Squirrel.Windows的简单PHP应用程序,用于从文件夹读取更新。 支持增量更新。

不同平台差异

虽然autoUpdater为不同的平台提供了一个统一的API,但每个平台上仍然存在一些微妙的差异。

MACOS

在macOS上, autoUpdater模块基于 Squirrel.Mac ,这意味着您不需要任何特殊的设置来使其工作。 对于服务器端要求,您可以阅读服务器支持 。 请注意, 应用程序传输安全性 (ATS)适用于作为更新过程一部分的所有请求。 需要禁用ATS的应用程序可以将NSAllowsArbitraryLoads键添加到其应用程序的plist中。

注意:您的应用程序必须签名才能自动更新macOS。 这是Squirrel.Mac的要求。

windows

在Windows上,您必须先将自己的应用程序安装到用户的机器中,然后才能使用autoUpdater ,因此建议您使用electronic-winstaller , electron-forge或grunt-electron-installer软件包来生成Windows安装程序。

当使用electronic-winstaller或 电子伪造时,请确保您第一次运行时不尝试更新应用程序(另请参阅 此问题以获取更多信息 )。 还建议您使用电子松鼠启动来获取您的应用程序的桌面快捷方式。

使用 Squirrel 生成的安装程序将以com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE的格式创建一个应用程序用户模型ID的快捷方式图标,示例为com.squirrel.slack.Slack和com.squirrel.code.Code 。 您必须使用app.setAppUserModelId API为您的应用使用相同的ID,否则Windows将无法在任务栏中正确引导您的应用。

与Squirrel.Mac不同,Windows可以在S3或任何其他静态文件主机上托管更新。 您可以阅读Squirrel.Windows的文档,以获取有关Squirrel.Windows如何工作的更多详细信息。

Linux

在Linux上没有自动更新程序的内置支持,因此建议使用发行版的软件包管理器来更新应用程序。

事件

autoUpdater对象发出以下事件:

事件:'错误' 返回:
error错误
更新时发生错误时发出。
事件:'检查更新' 检查更新是否已启动时发出。
事件:'更新可用' 当有可用更新时发出。 更新将自动下载。
事件:'update-not-available' 当没有可用更新时发出。
事件:'更新下载' 返回:
event事件
releaseNotes字符串
releaseName字符串
releaseDate Date
updateURL String

下载更新时发出。

在Windows上,只有releaseName可用。

方法

autoUpdater对象具有以下方法:

autoUpdater.setFeedURL(url[, requestHeaders])
url String
requestHeaders对象macOS (可选) - HTTP请求头。
设置url并初始化自动更新程序。
autoUpdater.getFeedURL() 返回String - 当前的更新Feed URL。
autoUpdater.checkForUpdates() 请求服务器是否有更新。
在使用此API之前必须调用setFeedURL 。
autoUpdater.quitAndInstall() 重启应用程序并在安装更新后下载。
只有在update-downloaded后才应该调用它。

注意: autoUpdater.quitAndInstall()将首先关闭所有应用程序窗口,然后才在app之后发出before-quit事件。 这与正常退出事件序列不同。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟