跳到主要内容

自动更新程序

启用应用程序自动更新自身。

过程:主要

另请参见:关于如何在应用程序中实现更新的详细指南.

自动更新程序是一个事件发射器.

平台通知

目前,仅支持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应用程序集应用程序用户模型IDAPI,否则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()在所有窗口都打开之后关闭。

信息

严格来说,没有必要调用此函数来应用更新,因为成功下载的更新将始终应用于下一次应用程序启动。