By request from a couple users, I've added a link to the electron-release-server, that makes using the auto-updater much easier.
3 KiB
autoUpdater
This module provides an interface for the Squirrel auto-updater framework.
You can quickly launch a multi-platform release server for distributing your application by forking electron-release-server.
Platform notices
Though autoUpdater provides a 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,
meaning 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 a user's machine before you can use the auto-updater, so it is recommended to use grunt-electron-installer module to generate a Windows installer.
The installer generated with Squirrel will create a shortcut icon with an
Application User Model ID in the format of
com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE, examples are
com.squirrel.slack.Slack and com.squirrel.code.Code. You have to use the
same ID for your app with app.setAppUserModelId API, otherwise Windows will
not be able to pin your app properly in task bar.
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 no built-in support for auto-updater on Linux, so 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:
errorError
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:
eventEventreleaseNotesStringreleaseNameStringreleaseDateDateupdateURLString
Emitted when an update has been downloaded.
On Windows only releaseName is available.
Methods
The autoUpdater object has the following methods:
autoUpdater.setFeedURL(url)
urlString
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.quitAndInstall()
Restarts the app and installs the update after it has been downloaded. It
should only be called after update-downloaded has been emitted.