• autoUpdater
    • 平台相关的提示
      • OS X
      • Windows
      • Linux
    • 事件列表
      • 事件:’error’
      • 事件:’checking-for-update’
      • 事件:’update-available’
      • 事件:’update-not-available’
      • 事件:’update-downloaded’
    • 方法列表
      • autoUpdater.setFeedURL(url)
      • autoUpdater.checkForUpdates()
      • autoUpdater.quitAndInstall()

    autoUpdater

    这个模块提供了一个到 Squirrel 自动更新框架的接口。

    平台相关的提示

    虽然 autoUpdater 模块提供了一套各平台通用的接口,但是在每个平台间依然会有一些微小的差异。

    OS X

    在 OS X 上,autoUpdater 模块依靠的是内置的 Squirrel.Mac,这意味着你不需要依靠其他的设置就能使用。关于
    更新服务器的配置,你可以通过阅读 Server Support 这篇文章来了解。

    Windows

    在 Windows 上,你必须使用安装程序将你的应用装到用户的计算机上,所以比较推荐的方法是用 grunt-electron-installer 这个模块来自动生成一个 Windows 安装向导。

    Squirrel 自动生成的安装向导会生成一个带 Application User Model ID 的快捷方式。
    Application User Model ID 的格式是 com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE, 比如
    com.squirrel.slack.Slackcom.squirrel.code.Code 这样的。你应该在自己的应用中使用 app.setAppUserModelId 方法设置相同的 API,不然 Windows 将不能正确地把你的应用固定在任务栏上。

    服务器端的配置和 OS X 也是不一样的,你可以阅读 Squirrel.Windows 这个文档来获得详细信息。

    Linux

    Linux 下没有任何的自动更新支持,所以我们推荐用各个 Linux 发行版的包管理器来分发你的应用。

    事件列表

    autoUpdater 对象会触发以下的事件:

    事件:’error’

    返回:

    • error Error

    当更新发生错误的时候触发。

    事件:’checking-for-update’

    当开始检查更新的时候触发。

    事件:’update-available’

    当发现一个可用更新的时候触发,更新包下载会自动开始。

    事件:’update-not-available’

    当没有可用更新的时候触发。

    事件:’update-downloaded’

    返回:

    • event Event
    • releaseNotes String - 新版本更新公告
    • releaseName String - 新的版本号
    • releaseDate Date - 新版本发布的日期
    • updateURL String - 更新地址

    在更新下载完成的时候触发。

    在 Windows 上只有 releaseName 是有效的。

    方法列表

    autoUpdater 对象有以下的方法:

    autoUpdater.setFeedURL(url)

    • url String

    设置检查更新的 url,并且初始化自动更新。这个 url 一旦设置就无法更改。

    autoUpdater.checkForUpdates()

    向服务端查询现在是否有可用的更新。在调用这个方法之前,必须要先调用 setFeedURL

    autoUpdater.quitAndInstall()

    在下载完成后,重启当前的应用并且安装更新。这个方法应该仅在 update-downloaded 事件触发后被调用。