See publish configuration for information on how to configure your local or CI environment for automated deployments.
Code signing is required on macOS
- Test Script Builder (TSB) is a software tool that simplifies building test scripts for Keithley’s Test Script Processor (TSP®)-enabled instruments. TSB allows you to: Send commands and receive 1-800-833-9200.
- There are instructions on the disk image for CheckBuilderPro and you can access the manual from within the software by choosing “CBP Manual” from the Help icon in the toolbar. BatchBuilder has on-screen access to its instructions. VIDEO TUTORIALS Installing CheckBuilderPro on Mac Set Up Your First Check Setting Up For Pre-Printed Checks.
macOS application must be signed in order for auto updating to work.
Feature-rich clipboard manager for Mac. With CheckBook, easily and simply manage your personal checking accounts. Artista Impresso Pro. It turns your snapshots and photos into a stroke-filled impressionist painting. File Pair Check. File Pair Check checks if two files are identical. Photo Movie Builder Pro. Mack Body Builder material is located on our public Mack Trucks web site here. Check your order status by logging in, then selecting 'My Account' in the upper right hand side of the screen.
Auto-updatable Targets¶
- macOS: DMG.
- Linux: AppImage.
- Windows: NSIS.
All these targets are default, custom configuration is not required.
Squirrel.Windows is not supported
Check Builder Mac Manual Software
Simplified auto-update is supported on Windows if you use the default NSIS target, but is not supported for Squirrel.Windows.You can easily migrate to NSIS.
Differences between electron-updater and built-in autoUpdater¶
- Dedicated release server is not required.
- Code signature validation not only on macOS, but also on Windows.
- All required metadata files and artifacts are produced and published automatically.
- Download progress and staged rollouts supported on all platforms.
- Different providers supported out of the box (GitHub Releases, Amazon S3, DigitalOcean Spaces, Bintray and generic HTTP(s) server).
- You need only 2 lines of code to make it work.
Quick Setup Guide¶
Install electron-updater as an app dependency.
Configure publish.
Use
autoUpdater
fromelectron-updater
instead ofelectron
:Call
autoUpdater.checkForUpdatesAndNotify()
. Or, if you need custom behaviour, implementelectron-updater
events, check examples below.
Note
- Do not call setFeedURL. electron-builder automatically creates
app-update.yml
file for you on build in theresources
(this file is internal, you don’t need to be aware of it). zip
target for macOS is required for Squirrel.Mac, otherwiselatest-mac.yml
cannot be created, which causesautoUpdater
error. Default target for macOS isdmg
+zip
, so there is no need to explicitly specify target.
Examples¶
Example in TypeScript using system notifications
- A complete example showing how to use.
- An encapsulated manual update via menu.
Debugging¶
You don’t need to listen all events to understand what’s wrong. Just set logger
.electron-log is recommended (it is an additional dependency that you can install if needed).
Note that in order to develop/test UI/UX of updating without packaging the application you need to have a file named dev-app-update.yml
in the root of your project, which matches your publish
setting from electron-builder config (but in yaml format). But it is not recommended, better to test auto-update for installed application (especially on Windows). Minio is recommended as a local server for testing updates.
Compatibility¶
Generated metadata files format changes from time to time, but compatibility preserved up to version 1. If you start a new project, recommended to set electronUpdaterCompatibility
to current latest format version (>= 2.16
).
Option electronUpdaterCompatibility
set the electron-updater compatibility semver range. Can be specified per platform.
e.g. >= 2.16
, >=1.0.0
. Defaults to >=2.15
1.0.0
latest-mac.json2.15.0
path2.16.0
files
Staged Rollouts¶
Staged rollouts allow you to distribute the latest version of your app to a subset of users that you can increase over time, similar to rollouts on platforms like Google Play.
Staged rollouts are controlled by manually editing your latest.yml
/ latest-mac.yml
(channel update info file).
Update will be shipped to 10% of userbase.
If you want to pull a staged release because it hasn’t gone well, you must increment the version number higher than your broken release.Because some of your users will be on the broken 1.0.1, releasing a new 1.0.1 would result in them staying on a broken version.
File Generated and Uploaded in Addition¶
latest.yml
(or latest-mac.yml
for macOS, or latest-linux.yml
for Linux) will be generated and uploaded for all providers except bintray
(because not required, bintray
doesn’t use latest.yml
).
Private GitHub Update Repo¶
You can use a private repository for updates with electron-updater by setting the GH_TOKEN
environment variable (on user machine) and private
option.If GH_TOKEN
is set, electron-updater will use the GitHub API for updates allowing private repositories to work.
Warning
Private GitHub provider only for very special cases — not intended and not suitable for all users.
Note
The GitHub API currently has a rate limit of 5000 requests per user per hour. An update check uses up to 3 requests per check.
Events¶
The autoUpdater
object emits the following events:
Event: error
¶
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
¶
info
UpdateInfo (for generic and github providers) | VersionInfo (for Bintray provider)
Emitted when there is an available update. The update is downloaded automatically if autoDownload
is true
.
Event: update-not-available
¶
Emitted when there is no available update.
info
UpdateInfo (for generic and github providers) | VersionInfo (for Bintray provider)
Event: download-progress
¶
progress
ProgressInfobytesPerSecond
percent
total
transferred
Emitted on progress.
Event: update-downloaded
¶
info
UpdateInfo — for generic and github providers. VersionInfo for Bintray provider.
API¶
- AppUpdater ⇐ EventEmitter
AppUpdater ⇐ EventEmitter
¶
Kind: class of electron-updater
Extends: EventEmitter
Properties
autoDownload
=true
Boolean - Whether to automatically download an update when it is found.autoInstallOnAppQuit
=true
Boolean - Whether to automatically install a downloaded update on app quit (ifquitAndInstall
was not called before).Applicable only on Windows and Linux.
allowPrerelease
=false
Boolean - GitHub provider only. Whether to allow update to pre-release versions. Defaults totrue
if application version contains prerelease components (e.g.0.12.1-alpha.1
, herealpha
is a prerelease component), otherwisefalse
.If
true
, downgrade will be allowed (allowDowngrade
will be set totrue
).fullChangelog
=false
Boolean - GitHub provider only. Get all release notes (from current version to latest), not just the latest.allowDowngrade
=false
Boolean - Whether to allow version downgrade (when a user from the beta channel wants to go back to the stable channel).Taken in account only if channel differs (pre-release version component in terms of semantic versioning).
currentVersion
SemVer - The current application version.channel
String - Get the update channel. Not applicable for GitHub. Doesn’t returnchannel
from the update configuration, only if was previously set.requestHeaders
[key: string]: string - The request headers.logger
Logger - The logger. You can pass electron-log, winston or another logger with the following interface:{ info(), warn(), error() }
. Set it tonull
if you would like to disable a logging feature.signals
=new UpdaterSignal(this)
UpdaterSignal - For type safety you can use signals, e.g.autoUpdater.signals.updateDownloaded(() => {})
instead ofautoUpdater.on('update-available', () => {})
Methods
- .AppUpdater ⇐
EventEmitter
.checkForUpdates()
⇒Promise<UpdateCheckResult>
.checkForUpdatesAndNotify()
⇒Promise< | UpdateCheckResult>
.downloadUpdate(cancellationToken)
⇒Promise<any>
.getFeedURL()
⇒undefined
|null
|String
appUpdater.checkForUpdates()
⇒ Promise<UpdateCheckResult>
Asks the server whether there is an update.
appUpdater.checkForUpdatesAndNotify()
⇒ Promise< | UpdateCheckResult>
Asks the server whether there is an update, download and notify if update available.
appUpdater.downloadUpdate(cancellationToken)
⇒ Promise<any>
Start downloading update manually. You can use this method if autoDownload
option is set to false
.
Returns: Promise<any>
- Path to downloaded file.
- cancellationToken
CancellationToken
appUpdater.getFeedURL()
⇒ undefined
| null
| String
appUpdater.setFeedURL(options)
Configure update provider. If value is string
, GenericServerOptions will be set with value as url
.
- options
PublishConfiguration
|String
|GithubOptions
|S3Options
|SpacesOptions
|GenericServerOptions
|BintrayOptions
- If you want to override configuration in theapp-update.yml
.
appUpdater.channel
(getter and setter)
Define the channel which the Auto-Updater will follow (see the auto-update with channels tutorial) using appUpdater.channel = 'beta'
or get the current channel with currentChannel = appUpdater.channel
.
appUpdater.quitAndInstall(isSilent, isForceRunAfter)
Restarts the app and installs the update after it has been downloaded.It should only be called after update-downloaded
has been emitted.
Note:autoUpdater.quitAndInstall()
will close all application windows first and only emit before-quit
event on app
after that.This is different from the normal quit event sequence.
- isSilent
Boolean
- windows-only Runs the installer in silent mode. Defaults tofalse
. - isForceRunAfter
Boolean
- Run the app after finish even on silent install. Not applicable for macOS. Ignored ifisSilent
is set tofalse
.
Logger
¶
Kind: interface of electron-updater
logger.debug(message)
- message
String
logger.error(message)
- message
any
logger.info(message)
- message
any
logger.warn(message)
- message
any
UpdateInfo
¶
Kind: interface of electron-updater
Properties
Check Builder Mac Manual Download
version
String - The version.files
Array<module:builder-util-runtime.UpdateFileInfo>path
String - Deprecated: {tag.description}sha512
String - Deprecated: {tag.description}releaseName
String - The release name.releaseNotes
String | Array<module:builder-util-runtime.ReleaseNoteInfo> - The release notes. List ifupdater.fullChangelog
is set totrue
,string
otherwise.releaseDate
String - The release date.stagingPercentage
Number - The staged rollout percentage, 0-100.
UpdateCheckResult
¶
Check Builder Mac Manual Pdf
Kind: interface of electron-updater
Properties
updateInfo
module:builder-util-runtime.UpdateInfodownloadPromise
Promise<Array<String>>cancellationToken
CancellationTokenversionInfo
module:builder-util-runtime.UpdateInfo - Deprecated: {tag.description}
UpdaterSignal
¶
updaterSignal.login(handler)
Emitted when an authenticating proxy is asking for user credentials.
- handler - callback
updaterSignal.progress(handler)
- handler - callback
updaterSignal.updateCancelled(handler)
- handler - callback
updaterSignal.updateDownloaded(handler)
handler
- callback