How To Update an Electron App Automatically
The autoUpdater enables an electron app to check the latest version and update itself automatically. 1
Installation
You can install autoUpdater via NPM or yarn:
npm install --save—dev electron-updater
or
yarn add electron-updater
Example
In main .js file of electron, autoUpdater can be defined as follows:
// main.js
const { autoUpdater } = require("electron-updater");
autoUpdater.setFeedURL({
    provider: "github",
    host: "github.com",
    owner: "{ username }",
    repo: "{ repository }",
    token: "{ token }",
});
Events
- checking-for-update Emit when checking update has started.
- update-available
  Emit when there is an available update. If autoDownload = true, the update will be downloaded automatically. The event contains the version, releaseDate, releaseNotes, etc.
- update-not-available Emit when there is no available update.
- error Emit when there is an error.
- download-progress Emit when downloading update has started. The event contains the download percentages.
- update-downloaded Emit when the update has been downloaded. The event contains the version, releaseDate, releaseNotes, downloadFile, etc.
Properties
- autoDownload
  autoDownloaddefines whether to automatically download an update when it is found. IfautoDownload = false, you should manually executeautoUpdater.downloadUpdate()after receiving update-available event.
- autoInstallOnAppQuit
  autoInstallOnAppQuitdefines whether to automatically install a downloaded update on app quit. IfautoInstallOnAppQuit = false, you should manually executeautoUpdater.quitAndInstall().
Methods
- setFeedURL(options)
  Configure update provider. If you use GitHub as provider, optionsconsists of provider, host, owner, repo, token, etc.
- checkForUpdatesAndNotify() Ask the server whether there is an update.
- downloadUpdate() Start downloading update.
- quitAndInstall()
  Restart the app and install the update after it has been downloaded. This method should be called after update-downloadedhas been emitted.
