Reputation: 311
I'm using "electron-updater" to check for auto-updating Electron application.
Calling "checkForUpdatesAndNotify()" function.
In a console, I get "Skip checkForUpdatesAndNotify because application is not packed".
"electron-builder": "20.28.1"
const {autoUpdater} = require("electron-updater");
autoUpdater.checkForUpdatesAndNotify();
autoUpdater.on('checking-for-update', () => {
console.log('Checking for update...');
});
autoUpdater.on('update-available', (info) => {
console.log('Update available.');
});
autoUpdater.on('update-not-available', (info) => {
console.log('Update not available.');
});
autoUpdater.on('error', (err) => {
console.log('Error in auto-updater. ' + err);
});
autoUpdater.on('download-progress', (progressObj) => {
let log_message = "Download speed: " + progressObj.bytesPerSecond;
log_message = log_message + ' - Downloaded ' + progressObj.percent + '%';
log_message = log_message + ' (' + progressObj.transferred + "/" + progressObj.total + ')';
console.log(log_message);
});
autoUpdater.on('update-downloaded', (info) => {
console.log('Update downloaded');
});
Upvotes: 16
Views: 11967
Reputation: 11358
Nowadays the right thing to do is specify your dev config in dev-app-update.yml
and then do this before you call autoUpdater.checkForUpdatesAndNotify()
:
autoUpdater.forceDevUpdateConfig = true;
Upvotes: 2
Reputation: 1221
checkForUpdatesAndNotify()
just won't work in development mode.
If you insist on test it in dev mode, you can do some hack with isPackaged
:
const app = require('electron').app;
Object.defineProperty(app, 'isPackaged', {
get() {
return true;
}
});
Be careful, do not use this hack for production, it may
Upvotes: 16