auto-updater.ts 834 B

1234567891011121314151617181920212223242526272829303132
  1. import { autoUpdater } from 'electron-updater';
  2. import { ipcMain } from 'electron';
  3. import { Application } from '../application';
  4. export const runAutoUpdaterService = () => {
  5. let updateAvailable = false;
  6. ipcMain.on('install-update', () => {
  7. if (process.env.NODE_ENV !== 'development') {
  8. autoUpdater.quitAndInstall(true, true);
  9. }
  10. });
  11. ipcMain.handle('is-update-available', () => {
  12. return updateAvailable;
  13. });
  14. ipcMain.on('update-check', () => {
  15. autoUpdater.checkForUpdates();
  16. });
  17. autoUpdater.on('update-downloaded', () => {
  18. updateAvailable = true;
  19. for (const window of Application.instance.windows.list) {
  20. window.send('update-available');
  21. Application.instance.dialogs
  22. .getDynamic('menu')
  23. ?.browserView?.webContents?.send('update-available');
  24. }
  25. });
  26. };