Create autoUpdater handling
This commit is contained in:
parent
32f2594864
commit
beac26ed4f
|
|
@ -1,11 +1,17 @@
|
|||
import { app, shell, BrowserWindow, ipcMain } from 'electron'
|
||||
import { app, shell, BrowserWindow, ipcMain, Notification } from 'electron'
|
||||
import { join } from 'path'
|
||||
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
|
||||
import icon from '../../resources/icon.png?asset'
|
||||
import { autoUpdater } from 'electron-updater'
|
||||
|
||||
autoUpdater.autoDownload = false;
|
||||
autoUpdater.autoInstallOnAppQuit = true;
|
||||
|
||||
let mainWindow;
|
||||
function createWindow(): void {
|
||||
// Create the browser window.
|
||||
const mainWindow = new BrowserWindow({
|
||||
// const mainWindow = new BrowserWindow({
|
||||
mainWindow = new BrowserWindow({
|
||||
width: 900,
|
||||
height: 670,
|
||||
show: false,
|
||||
|
|
@ -54,6 +60,8 @@ app.whenReady().then(() => {
|
|||
|
||||
createWindow()
|
||||
|
||||
checkForUpdates();
|
||||
|
||||
app.on('activate', function () {
|
||||
// On macOS it's common to re-create a window in the app when the
|
||||
// dock icon is clicked and there are no other windows open.
|
||||
|
|
@ -70,5 +78,39 @@ app.on('window-all-closed', () => {
|
|||
}
|
||||
})
|
||||
|
||||
// In this file you can include the rest of your app's specific main process
|
||||
// code. You can also put them in separate files and require them here.
|
||||
function checkForUpdates() {
|
||||
autoUpdater.checkForUpdates();
|
||||
console.log(`Checking for updates. Current version ${app.getVersion()}`);
|
||||
showNotification(`Checking for updates. Current version ${app.getVersion()}`);
|
||||
}
|
||||
|
||||
function showNotification(value: any) {
|
||||
new Notification({
|
||||
title: value,
|
||||
}).show()
|
||||
}
|
||||
|
||||
/*New Update Available*/
|
||||
autoUpdater.on("update-available", (info) => {
|
||||
console.log(`Update available. Current version ${app.getVersion()}`);
|
||||
showNotification(`Update available. Current version ${app.getVersion()}`);
|
||||
let pth = autoUpdater.downloadUpdate();
|
||||
console.log(pth);
|
||||
showNotification(pth);
|
||||
});
|
||||
|
||||
autoUpdater.on("update-not-available", (info) => {
|
||||
console.log(`No update available. Current version ${app.getVersion()}`);
|
||||
showNotification(`No update available. Current version ${app.getVersion()}`);
|
||||
});
|
||||
|
||||
/*Download Completion Message*/
|
||||
autoUpdater.on("update-downloaded", (info) => {
|
||||
console.log(`Update downloaded. Current version ${app.getVersion()}`);
|
||||
showNotification(`Update downloaded. Current version ${app.getVersion()}`);
|
||||
});
|
||||
|
||||
autoUpdater.on("error", (info) => {
|
||||
console.log(info);
|
||||
showNotification(info);
|
||||
});
|
||||
Reference in a new issue