跳到主要内容

自动更新程序

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

过程:主要

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

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

站台通知

目前,仅支持macOS和Windows。没有内置支持对于Linux上的自动更新程序,因此建议使用发行版的包管理器来更新您的应用程序。

此外,每个平台上都有一些细微的差异:

macOS操作系统

在macOS上自动更新程序模块构建于松鼠。雨衣这意味着您不需要任何特殊设置就可以工作。对于服务器端要求,您可以阅读服务器支持。请注意应用程序运输安全(ATS)适用于作为更新过程。需要禁用ATS的应用程序可以添加NSAllows任意负载他们应用程序plist的关键。

注:您的应用程序必须经过签名才能在macOS上自动更新。这是一项要求松鼠。雨衣.

窗户

在Windows上,您必须先将应用程序安装到用户的计算机中,然后才能使用自动更新程序,因此建议您使用电子温控器电子锻造格伦特电子安装器包以生成Windows安装程序。

使用时电子温控器电子锻造确保你没有尝试更新你的应用第一次运行时(另请参见此问题获取更多信息). 还建议使用电子松鼠起动获取应用程序的桌面快捷方式。

用Squirrel生成的安装程序将创建一个带有应用程序用户模型ID格式为com.squirrel公司。软件包_ID.YOUR_EXE_WITHOUT_DOT_EXE,示例如下com.squirrel.slack公司。松弛(Slack)com.squirrel.code公司。代码。您必须使用与应用程序相同的ID应用程序集应用程序用户模型IDAPI,否则Windows将无法在任务栏中正确固定应用程序。

就像松鼠。Mac、Windows可以在S3或任何其他静态文件主机上托管更新。您可以阅读松鼠。窗户获取更多详细信息关于松鼠。Windows可以工作。

事件

这个自动更新程序对象发出以下事件:

事件:“错误”

退货:

  • 错误错误

更新时出错时发出。

事件:“检查更新”

检查更新是否已启动时发出。

事件:“update-available”

在有可用更新时发出。更新已下载自动。

事件:“update-not-available”

当没有可用更新时发出。

事件:“update-downloaded”

退货:

  • 事件事件
  • 发布说明一串
  • 发布名称一串
  • 发布日期日期
  • 更新URL一串

下载更新时发出。

仅在Windows上发布名称可用。

注:处理这个事件并不是绝对必要的。A成功下载的更新仍将在应用程序下次启动时应用。

事件:“before-quit-for-update”

此事件在用户调用后发出退出并安装().

调用此API时退出前事件不会在所有窗口关闭之前发出。因此,如果您希望在进程退出时关闭窗口之前执行操作,则应侦听此事件,并侦听退出前.

方法

这个自动更新程序对象具有以下方法:

autoUpdater.setFeedURL(选项)

  • 选项对象
    • 网址一串
    • 标题记录<字符串,字符串\>(可选)macOS操作系统-HTTP请求标头。
    • 服务器类型字符串(可选)macOS操作系统-可以是杰森违约,请参阅松鼠。雨衣README了解更多信息。

设置网址并初始化自动更新程序。

自动更新程序.getFeedURL()

退换商品一串-当前更新源URL。

自动更新程序checkForUpdates()

询问服务器是否有更新。你必须打电话setFeedURL之前使用此API。

注:如果有可用的更新,则会自动下载。打电话autoUpdater.checkForUpdate()两次将下载两次更新。

autoUpdater.quitAndInstall()

重新启动应用程序并在下载后安装更新。只能在之后调用已下载更新已发射。

引擎盖下的呼叫autoUpdater.quitAndInstall()将关闭所有应用程序windows优先,并自动调用app.quit()在所有窗口都打开之后关闭。

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