启用应用程序自动更新自身。
过程:主要
另请参见:关于如何在应用程序中实现更新的详细指南.
自动更新程序
是一个事件发射器.
目前,仅支持macOS和Windows。没有内置支持对于Linux上的自动更新程序,因此建议使用发行版的包管理器来更新您的应用程序。
此外,每个平台上都有一些细微的差异:
macOS操作系统
在macOS上自动更新程序
模块构建于松鼠。雨衣,这意味着您不需要任何特殊设置就可以工作。对于服务器端要求,您可以阅读服务器支持。请注意应用程序传输安全(ATS)适用于作为更新过程。需要禁用ATS的应用程序可以添加NSAllows任意负载
他们应用程序plist的关键。
您的应用程序必须经过签名才能在macOS上自动更新。这是一项要求松鼠。雨衣
.
在Windows上,您必须先将应用程序安装到用户的计算机中,然后才能使用自动更新程序
,因此建议您使用电子温控器或Electron Forge的松鼠。Windows制造商生成Windows安装程序。
使用松鼠构建的应用程序。Windows将触发自定义启动事件必须由Electron应用程序处理,以确保正确设置和拆卸。
松鼠。Windows应用程序将与一起启动--松鼠首次奔跑
立即争论安装后。在这段时间里,松鼠。Windows将在上获取文件锁定你的应用程序,以及自动更新程序
在释放锁之前,请求将失败。实际上,这意味着您将无法在首次启动时检查第一次的更新几秒钟。您可以通过在以下情况下不检查更新来解决此问题处理argv
包含--第一只松鼠
标记或设置10秒超时更新检查(请参见电子/电子#7155更多信息)。
用Squirrel生成的安装程序。Windows将创建一个带有应用程序用户模型ID格式为com.squirrel公司。包_ID.YOUR_EXE_WITHOUT_DOT_EXE
,示例如下com.squirrel.slack公司。松弛(Slack)
和com.squirrel.code公司。代码
。您必须使用与应用程序相同的ID应用程序集应用程序用户模型ID
API,否则Windows将无法在任务栏中正确固定应用程序。
这个自动更新程序
对象发出以下事件:
事件:“错误”
退货:
更新时出错时发出。
事件:“检查更新”
在开始检查可用更新时发出。
事件:“update-available”
在有可用更新时发出。更新已下载自动。
事件:“update-not-available”
当没有可用更新时发出。
事件:“update-downloaded”
退货:
事件
事件
发布说明
一串
发布名称
一串
发布日期
日期
更新URL
一串
下载更新时发出。
仅在Windows上发布名称
可用。
处理这个事件并不是绝对必要的。A成功下载的更新仍将在应用程序下次启动时应用。
事件:“before-quit-for-update”
此事件在用户调用后发出退出并安装()
.
调用此API时退出前
事件不会在所有窗口关闭之前发出。因此,如果您希望在进程退出时关闭窗口之前执行操作,则应侦听此事件,并侦听退出前
.
这个自动更新程序
对象具有以下方法:
autoUpdater.setFeedURL(选项)
选项
对象
网址
一串
标题
记录<string,string>(可选)macOS操作系统-HTTP请求标头。
服务器类型
字符串(可选)macOS操作系统-可以是杰森
或违约
,请参阅松鼠。雨衣README了解更多信息。
设置网址
并初始化自动更新程序。
自动更新程序.getFeedURL()
退换商品一串
-当前更新源URL。
autoUpdater.checkForUpdate()
询问服务器是否有更新。你必须打电话setFeedURL
之前使用此API。
如果有可用的更新,则会自动下载。打电话autoUpdater.checkForUpdate()
两次将下载两次更新。
autoUpdater.quitAndInstall()
重新启动应用程序并在下载后安装更新。它只能在之后调用更新-下载
已发射。
引擎盖下的呼叫autoUpdater.quitAndInstall()
将关闭所有应用程序windows优先,并自动调用app.quit()
在所有窗口都打开之后关闭。
严格来说,没有必要调用此函数来应用更新,因为成功下载的更新将始终应用于下一次应用程序启动。