1500d42cd2
- package.json build config: NSIS installer, app icon, generic publish provider → https://remote.bizgaze.com/downloads/ (self-hosted update feed). - main.js: electron-updater checks the feed on launch + every 6h, downloads in the background, installs on restart. Active only in packaged builds. - build/icon.ico app icon; PACKAGING.md documents build/release/signing. - Key design: web/UI changes reach installed apps instantly (they load the live server); only native shell changes need an auto-updated build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Biz Connect Desktop — packaging & updates
How updates reach installed apps (two kinds)
- Web / UI / feature / bug-fix changes → instant, no app update.
The app loads the live UI from
https://remote.bizgaze.com. Deploy the server (./deploy.sh) and every installed desktop app has it on next open/reload. This is ~95% of all changes. - Native shell changes (
main.js/preload.js) → auto-update. Baked into the.exe. Shipped via electron-updater against a self-hosted feed onhttps://remote.bizgaze.com/downloads/. On launch (and every 6h) the app checkslatest.yml, downloads a newer version in the background, and installs on next restart.
Build an installer
cd desktop
npm install
npm run dist # electron-builder → dist/ (Win: NSIS .exe + latest.yml + .blockmap)
Output in desktop/dist/:
Biz Connect Setup <version>.exe— the installerlatest.yml— the update manifest electron-updater reads*.blockmap— enables delta downloads
The release build points at production (SERVER_URL defaults to https://remote.bizgaze.com
in main.js).
Publish a release (self-hosted feed)
- Bump
versionindesktop/package.json(semver — electron-updater compares this). npm run dist.- Upload all of
dist/(the.exe,latest.yml,.blockmap) to whatever the server serves athttps://remote.bizgaze.com/downloads/.- Behind Nginx Proxy Manager: point
/downloads/at a static folder, or add a static route in the app. The files are large binaries — host them on disk/volume, not git.
- Behind Nginx Proxy Manager: point
- Installed apps pick it up within 6h (or on next launch).
First release: users install the
.exemanually (download link on your site). Every release after that updates automatically.
Code signing (add when the cert is ready)
Unsigned installers work but trip Windows SmartScreen ("More info → Run anyway"). To sign:
- Azure Trusted Signing (recommended): set
win.azureSignOptions(or use the@electron/windows-signpath) with the Trusted Signing account/endpoint. Cloud, no token. - EV/OV cert (.pfx or token): set env
CSC_LINK(path to .pfx) +CSC_KEY_PASSWORD, or configure a hardware-token signing tool. electron-builder signs automatically. Once signing is on, auto-updates are silent (no SmartScreen).
App identity
appId = com.bizgaze.connect.desktop; the NSIS installer registers this as the
AppUserModelID and creates a Start-menu shortcut — which is also the prerequisite for the
Phase D inline-reply Windows Toast notifications (see ../CLIENTS.md).