Skip to content

Electron ​

Electron apps use the electron-updater generic provider to fetch YAML feeds. Backend protocol: electron.

Official SDKs wrap native JSON check only and do not read latest.yml. Homegrown non-electron-updater clients should POST update check.

Package shape ​

Ship a single-file installer per OS (NSIS / DMG / AppImage, …). The YAML projects only the default hardware variant kind=full artifact for that OS. Any document name other than the three files below is plaintext 404.

DocumentOS
latest.ymlwindows
latest-mac.ymlmacos
latest-linux.ymllinux

generic provider requires electron-updater ≥ 6 (files[]; path is {sha256}{ext}; downloads use /packages/ hash URLs, not files next to the YAML).

Console ​

  1. Project Settings → Store listings, click New listing.
  2. Protocol electron. Copy the Store URL (includes the listing slug).
  3. Pinned os / arch / channel overwrite conflicting query values.

Details: Settings.

Listing root:

text
https://updates.example.com/api/v1/projects/myapp/store/electron/stable

The updater then requests {root}/latest.yml (Windows), latest-mac.yml, and latest-linux.yml.

Updater config ​

Paste the console Store URL into generic url. Do not patch electron-updater internals.

yaml
publish:
  provider: generic
  url: https://updates.example.com/api/v1/projects/myapp/store/electron/stable
js
autoUpdater.setFeedURL({
  provider: 'generic',
  url: 'https://updates.example.com/api/v1/projects/myapp/store/electron/stable',
})

Failures ​

SymptomCause
Plaintext 404 (no JSON code)Missing listing, protocol off, unknown filename, slug-less legacy path
HTTP 401 UNAUTHORIZEDMissing/invalid credentialsFeed auth failed
No update / empty channelAnonymous feeds include only GrayIsComplete() versions; an empty visible set does not emit empty YAML

Related: Store listings, Store HTTP.