Skip to content

Nsis app from fall 2017 (electron-updater 2.10.0) won't update to new version #2583

@baversjo

Description

@baversjo

Hi, I have a windows electron app that's in production with with electron-updater 2.10.0 / electron-builder 19.30.2.

Today I tried to deploy and update with electron-builder 20.0.4 and electron-updater 2.20.2. However the clients failed to install the update with a weird 404 when trying to download the .exe (see logs below)

I'm publishing a dual x64 x86 nsis-web installer to s3, this is the same as with the version that's in production currently.

Here's the latest.yml that the clients are fetching from: https://s3.amazonaws.com/smrt-releases/latest.yml
Here's the installer clients are downloading: https://s3.amazonaws.com/smrt-releases/SMRT+Web+Setup+2.4.3.exe

{"level":"info","message":"update check poll","timestamp":"2018-02-14T14:49:28.892Z"}
{"level":"info","message":"Checking for update","timestamp":"2018-02-14T14:49:28.896Z"}
{"level":"info","message":"looking for update","timestamp":"2018-02-14T14:49:28.896Z"}
{"level":"info","message":"Found version 2.4.1 (url: https://smrt-releases.s3.amazonaws.com/SMRT%20Web%20Setup%202.4.1.exe)","timestamp":"2018-02-14T14:49:29.098Z"}
{"level":"info","message":"update available","timestamp":"2018-02-14T14:49:29.098Z"}
{"level":"info","message":"Downloading update from https://smrt-releases.s3.amazonaws.com/SMRT%20Web%20Setup%202.4.1.exe","timestamp":"2018-02-14T14:49:29.099Z"}
{"level":"error","message":"Error: Error: Cannot download \"https://smrt-releases.s3.amazonaws.com/undefined\", status 404: Not Found\n    at ClientRequest.request.doRequest.response (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\builder-util-runtime\\src\\httpExecutor.ts:153:18)\n    at Object.onceWrapper (events.js:293:19)\n    at emitOne (events.js:96:13)\n    at ClientRequest.emit (events.js:191:7)\n    at URLRequest.ClientRequest.urlRequest.on (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\electron.asar\\browser\\api\\net.js:207:12)\n    at emitOne (events.js:96:13)\n    at URLRequest.emit (events.js:191:7)\nFrom previous event:\n    at CancellationToken.createPromise (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\builder-util-runtime\\src\\CancellationToken.ts:51:5)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\electronHttpExecutor.ts:20:44\n    at Generator.next (<anonymous>)\nFrom previous event:\n    at ElectronHttpExecutor.download (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\electronHttpExecutor.js:60:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\NsisUpdater.ts:85:35\nFrom previous event:\n    at NsisUpdater.doDownloadUpdate (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\NsisUpdater.js:167:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:301:25\n    at Generator.next (<anonymous>)\nFrom previous event:\n    at NsisUpdater.downloadUpdate (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js:358:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:276:49\nFrom previous event:\n    at NsisUpdater.doCheckForUpdates (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js:329:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:222:25\n    at Generator.next (<anonymous>)\n    at runCallback (timers.js:672:20)\n    at tryOnImmediate (timers.js:645:5)\n    at processImmediate [as _immediateCallback] (timers.js:617:5)\nFrom previous event:\n    at NsisUpdater._checkForUpdates (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js:282:11)\n    at NsisUpdater.checkForUpdates (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:166:35)\n    at Timeout.startLookup [as _onTimeout] (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\webpack:\\src\\main\\plugins\\AutoUpdatePlugin.js:44:25)\n    at ontimeout (timers.js:386:14)\n    at tryOnTimeout (timers.js:250:5)\n    at Timer.listOnTimeout (timers.js:214:5)","timestamp":"2018-02-14T14:49:30.674Z"}
{"level":"error","message":"Error: Cannot download \"https://smrt-releases.s3.amazonaws.com/undefined\", status 404: Not Found\n    at ClientRequest.request.doRequest.response (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\builder-util-runtime\\src\\httpExecutor.ts:153:18)\n    at Object.onceWrapper (events.js:293:19)\n    at emitOne (events.js:96:13)\n    at ClientRequest.emit (events.js:191:7)\n    at URLRequest.ClientRequest.urlRequest.on (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\electron.asar\\browser\\api\\net.js:207:12)\n    at emitOne (events.js:96:13)\n    at URLRequest.emit (events.js:191:7)\nFrom previous event:\n    at CancellationToken.createPromise (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\builder-util-runtime\\src\\CancellationToken.ts:51:5)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\electronHttpExecutor.ts:20:44\n    at Generator.next (<anonymous>)\nFrom previous event:\n    at ElectronHttpExecutor.download (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\electronHttpExecutor.js:60:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\NsisUpdater.ts:85:35\nFrom previous event:\n    at NsisUpdater.doDownloadUpdate (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\NsisUpdater.js:167:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:301:25\n    at Generator.next (<anonymous>)\nFrom previous event:\n    at NsisUpdater.downloadUpdate (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js:358:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:276:49\nFrom previous event:\n    at NsisUpdater.doCheckForUpdates (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js:329:11)\n    at C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:222:25\n    at Generator.next (<anonymous>)\n    at runCallback (timers.js:672:20)\n    at tryOnImmediate (timers.js:645:5)\n    at processImmediate [as _immediateCallback] (timers.js:617:5)\nFrom previous event:\n    at NsisUpdater._checkForUpdates (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js:282:11)\n    at NsisUpdater.checkForUpdates (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts:166:35)\n    at Timeout.startLookup [as _onTimeout] (C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\webpack:\\src\\main\\plugins\\AutoUpdatePlugin.js:44:25)\n    at ontimeout (timers.js:386:14)\n    at tryOnTimeout (timers.js:250:5)\n    at Timer.listOnTimeout (timers.js:214:5) 'Error: Cannot download \"https://smrt-releases.s3.amazonaws.com/undefined\", status 404: Not Found\\n    at ClientRequest.request.doRequest.response (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\builder-util-runtime\\\\src\\\\httpExecutor.ts:153:18)\\n    at Object.onceWrapper (events.js:293:19)\\n    at emitOne (events.js:96:13)\\n    at ClientRequest.emit (events.js:191:7)\\n    at URLRequest.ClientRequest.urlRequest.on (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\electron.asar\\\\browser\\\\api\\\\net.js:207:12)\\n    at emitOne (events.js:96:13)\\n    at URLRequest.emit (events.js:191:7)\\nFrom previous event:\\n    at CancellationToken.createPromise (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\builder-util-runtime\\\\src\\\\CancellationToken.ts:51:5)\\n    at C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\src\\\\electronHttpExecutor.ts:20:44\\n    at Generator.next (<anonymous>)\\nFrom previous event:\\n    at ElectronHttpExecutor.download (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\out\\\\electronHttpExecutor.js:60:11)\\n    at C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\src\\\\NsisUpdater.ts:85:35\\nFrom previous event:\\n    at NsisUpdater.doDownloadUpdate (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\out\\\\NsisUpdater.js:167:11)\\n    at C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\src\\\\AppUpdater.ts:301:25\\n    at Generator.next (<anonymous>)\\nFrom previous event:\\n    at NsisUpdater.downloadUpdate (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\out\\\\AppUpdater.js:358:11)\\n    at C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\src\\\\AppUpdater.ts:276:49\\nFrom previous event:\\n    at NsisUpdater.doCheckForUpdates (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\out\\\\AppUpdater.js:329:11)\\n    at C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\src\\\\AppUpdater.ts:222:25\\n    at Generator.next (<anonymous>)\\n    at runCallback (timers.js:672:20)\\n    at tryOnImmediate (timers.js:645:5)\\n    at processImmediate [as _immediateCallback] (timers.js:617:5)\\nFrom previous event:\\n    at NsisUpdater._checkForUpdates (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\out\\\\AppUpdater.js:282:11)\\n    at NsisUpdater.checkForUpdates (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\node_modules\\\\electron-updater\\\\src\\\\AppUpdater.ts:166:35)\\n    at Timeout.startLookup [as _onTimeout] (C:\\\\Users\\\\MpUser\\\\AppData\\\\Local\\\\Programs\\\\smrt-systems\\\\resources\\\\app.asar\\\\webpack:\\\\src\\\\main\\\\plugins\\\\AutoUpdatePlugin.js:44:25)\\n    at ontimeout (timers.js:386:14)\\n    at tryOnTimeout (timers.js:250:5)\\n    at Timer.listOnTimeout (timers.js:214:5)'","timestamp":"2018-02-14T14:49:30.675Z"}
{"message":"Cannot download \"https://smrt-releases.s3.amazonaws.com/undefined\", status 404: Not Found","errorClass":"Error","stacktrace":[{"file":"node_modules\\builder-util-runtime\\src\\httpExecutor.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\builder-util-runtime\\src\\httpExecutor.ts","method":"response","lineNumber":153,"columnNumber":18},{"file":"events.js","path":"events.js","method":"onceWrapper","lineNumber":293,"columnNumber":19},{"file":"events.js","path":"events.js","method":"emitOne","lineNumber":96,"columnNumber":13},{"file":"events.js","path":"events.js","method":"emit","lineNumber":191,"columnNumber":7},{"file":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\electron.asar\\browser\\api\\net.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\electron.asar\\browser\\api\\net.js","method":"on","lineNumber":207,"columnNumber":12},{"file":"events.js","path":"events.js","method":"emitOne","lineNumber":96,"columnNumber":13},{"file":"events.js","path":"events.js","method":"emit","lineNumber":191,"columnNumber":7},{"file":"node_modules\\builder-util-runtime\\src\\CancellationToken.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\builder-util-runtime\\src\\CancellationToken.ts","method":"createPromise","lineNumber":51,"columnNumber":5},{"file":"node_modules\\electron-updater\\src\\electronHttpExecutor.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\electronHttpExecutor.ts","method":"none","lineNumber":20,"columnNumber":44},{"file":null,"path":null,"method":"next","lineNumber":null,"columnNumber":null},{"file":"node_modules\\electron-updater\\out\\electronHttpExecutor.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\electronHttpExecutor.js","method":"download","lineNumber":60,"columnNumber":11},{"file":"node_modules\\electron-updater\\src\\NsisUpdater.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\NsisUpdater.ts","method":"none","lineNumber":85,"columnNumber":35},{"file":"node_modules\\electron-updater\\out\\NsisUpdater.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\NsisUpdater.js","method":"doDownloadUpdate","lineNumber":167,"columnNumber":11},{"file":"node_modules\\electron-updater\\src\\AppUpdater.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts","method":"none","lineNumber":301,"columnNumber":25},{"file":null,"path":null,"method":"next","lineNumber":null,"columnNumber":null},{"file":"node_modules\\electron-updater\\out\\AppUpdater.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js","method":"downloadUpdate","lineNumber":358,"columnNumber":11},{"file":"node_modules\\electron-updater\\src\\AppUpdater.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts","method":"none","lineNumber":276,"columnNumber":49},{"file":"node_modules\\electron-updater\\out\\AppUpdater.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js","method":"doCheckForUpdates","lineNumber":329,"columnNumber":11},{"file":"node_modules\\electron-updater\\src\\AppUpdater.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts","method":"none","lineNumber":222,"columnNumber":25},{"file":null,"path":null,"method":"next","lineNumber":null,"columnNumber":null},{"file":"timers.js","path":"timers.js","method":"runCallback","lineNumber":672,"columnNumber":20},{"file":"timers.js","path":"timers.js","method":"tryOnImmediate","lineNumber":645,"columnNumber":5},{"file":"timers.js","path":"timers.js","method":"processImmediate [as _immediateCallback]","lineNumber":617,"columnNumber":5},{"file":"node_modules\\electron-updater\\out\\AppUpdater.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\out\\AppUpdater.js","method":"_checkForUpdates","lineNumber":282,"columnNumber":11},{"file":"node_modules\\electron-updater\\src\\AppUpdater.ts","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\node_modules\\electron-updater\\src\\AppUpdater.ts","method":"checkForUpdates","lineNumber":166,"columnNumber":35},{"file":"webpack:\\src\\main\\plugins\\AutoUpdatePlugin.js","path":"C:\\Users\\MpUser\\AppData\\Local\\Programs\\smrt-systems\\resources\\app.asar\\webpack:\\src\\main\\plugins\\AutoUpdatePlugin.js","method":"startLookup [as _onTimeout]","lineNumber":44,"columnNumber":25,"inProject":true},{"file":"timers.js","path":"timers.js","method":"ontimeout","lineNumber":386,"columnNumber":14},{"file":"timers.js","path":"timers.js","method":"tryOnTimeout","lineNumber":250,"columnNumber":5},{"file":"timers.js","path":"timers.js","method":"listOnTimeout","lineNumber":214,"columnNumber":5}],"level":"error","timestamp":"2018-02-14T14:49:30.680Z"}

Also, here's my electron-updater implementation/class that outputs the logs you see. The code is the same in the old version of my app and the new one that I'm trying to update to.

import { autoUpdater } from 'electron-updater';
import winston from 'winston';

import NativeClientPlugin from './NativeClientPlugin';


const QUIT_AND_INSTALL = 'quitAndUpdate';
const UPDATE_READY = 'updateReady';
const POLL_INTERVAL = 1000 * 60 * 10;

const NOTIFY_CLIENT_WAIT_TIME = 30000;

export default class AutoUpdatePlugin extends NativeClientPlugin {

    constructor(conf) {
        super(conf);
        AutoUpdatePlugin.registerListeners();
        AutoUpdatePlugin.pollUpdates();
    }

    execute = (action) => {
        switch (action) {
            case QUIT_AND_INSTALL:
                return AutoUpdatePlugin.quitAndInstall();
            default:
                return NativeClientPlugin.fail(`No action ${action}`);
        }
    };

    static pollUpdates() {
        AutoUpdatePlugin.startLookup();
        setInterval(AutoUpdatePlugin.startLookup, POLL_INTERVAL);
    }

    static startLookup() {
        if (process.env.NODE_ENV === 'development') {
            winston.info("No update check, Update system disabled in development");
        }
        else{
            winston.info("update check poll");
            autoUpdater.checkForUpdates();
        }

        return NativeClientPlugin.success();
    }

    static quitAndInstall() {
        autoUpdater.quitAndInstall();

        return NativeClientPlugin.success();
    }

    static notifyUpdateReady(...info) {
        winston.info(`update downloaded ${JSON.stringify(info)}`);
        setTimeout(() => {
            winston.info('notifying client of update');
            AutoUpdatePlugin.notify(UPDATE_READY);
        }, NOTIFY_CLIENT_WAIT_TIME);
    }

    static registerListeners() {
        autoUpdater.logger = winston;
        autoUpdater.on('error', winston.error);
        autoUpdater.on('checking-for-update', () => winston.info('looking for update'));
        autoUpdater.on('update-available', () => winston.info('update available'));
        autoUpdater.on('update-not-available', () => winston.info('update not available'));
        autoUpdater.on('update-downloaded', AutoUpdatePlugin.notifyUpdateReady);
    }
}

Here's my build config in package.json. Likewise, this has not changed between current production build and my new build.

  "build": {
    "appId": "com.smrtsystems.desktopapp",
    "buildDependenciesFromSource": true,
    "nsis": {
      "oneClick": true,
      "runAfterFinish": true,
      "deleteAppDataOnUninstall": true,
      "createDesktopShortcut": true
    },
    "win": {
      "certificateFile": "certificates/SmrtElectronCodeSigning.pfx",
      "certificatePassword": "truncatedforgithub"
    },
    "publish": {
      "provider": "s3",
      "bucket": "smrt-releases",
      "acl": null
    }
  }

Here's my publish command (npm run publish):

cross-env NODE_ENV=production npm run build-preload && electron-webpack --env.minify=false && electron-builder --windows nsis-web --ia32 --x64 --publish always

Here's the final output of the publish command, uploading to S3 successfully:

  • uploading       file=SMRT Web Setup 2.4.3.exe provider=S3
    [====================] 100% 0.0s | SMRT Web Setup 2.4.3.exe to S3
  • uploaded        provider=S3 file=SMRT Web Setup 2.4.3.exe bucket=smrt-releases
  • uploading       file=latest.yml provider=S3
  • uploaded        provider=S3 file=latest.yml bucket=smrt-releases

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions