electron/docs/api/auto-updater.md
2015-10-23 20:11:59 +08:00

2.4 KiB

autoUpdater

This module provides an interface for the Squirrel auto-updater framework.

Platform notices

Though autoUpdater provides an uniform API for different platforms, there are still some subtle differences on each platform.

OS X

On OS X the autoUpdater module is built upon Squirrel.Mac, you don't need any special setup to make it work. For server-side requirements, you can read Server Support.

Windows

On Windows you have to install your app into user's machine before you can use the auto-updater, it is recommended to use grunt-electron-installer module to generate a Windows installer.

The server-side setup is also different from OS X, you can read the documents of Squirrel.Windows to get more details.

Linux

There is not built-in support for auto-updater on Linux, it is recommended to use the distribution's package manager to update your app.

Events

The autoUpdater object emits the following events:

Event: 'error'

Returns:

  • error Error

Emitted when there is an error while updating.

Event: 'checking-for-update'

Emitted when checking if an update has started.

Event: 'update-available'

Emitted when there is an available update. The update is downloaded automatically.

Event: 'update-not-available'

Emitted when there is no available update.

Event: 'update-downloaded'

Returns:

  • event Event
  • releaseNotes String
  • releaseName String
  • releaseDate Date
  • updateUrl String

Emitted when an update has been downloaded.

On Windows only releaseName is available.

Methods

The autoUpdater object has the following methods:

autoUpdater.setFeedUrl(url)

  • url String

Sets the url and initialize the auto updater. The url cannot be changed once it is set.

autoUpdater.checkForUpdates()

Asks the server whether there is an update. You must call setFeedUrl before using this API.

autoUpdater.quitAndUpdate()

Restarts the app and install the update after it has been downloaded. It should only be called after update-downloaded has been emitted.