Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updater #38

Open
pierrbt opened this issue Apr 11, 2023 · 5 comments
Open

Updater #38

pierrbt opened this issue Apr 11, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@pierrbt
Copy link
Collaborator

pierrbt commented Apr 11, 2023

Ajouter une MÀJ automatique du lanceur de jeu à chaque fois qu'une nouvelle release est créée, des modules ont déjà étés créés, il fait se renseigner

@pierrbt pierrbt self-assigned this Apr 11, 2023
@pierrbt
Copy link
Collaborator Author

pierrbt commented Apr 12, 2023

Je me renseigne sur les trucs integrés à Électron/Forge

@pierrbt pierrbt added the enhancement New feature or request label Apr 12, 2023
@pierrbt
Copy link
Collaborator Author

pierrbt commented Apr 12, 2023

Bonjour,

Pour la mise à jour automatique de votre application Electron avec Forge, vous pouvez utiliser le module electron-updater. Voici comment procéder :

Installez le module electron-updater avec npm :
npm install electron-updater

Dans le fichier main.ts, importez autoUpdater depuis electron-updater :

import { app, BrowserWindow } from 'electron';
import { autoUpdater } from 'electron-updater';

Configurez autoUpdater avec l'URL de votre fichier de release sur GitHub dans la fonction createWindow :

function createWindow() {
  const mainWindow = new BrowserWindow({
    // ...
  });

  // Vérifier les mises à jour au démarrage de l'application
  autoUpdater.checkForUpdatesAndNotify();

  // ...
}

Ajoutez un listener pour l'événement update-downloaded qui se déclenche lorsque la mise à jour est téléchargée et prête à être installée :

autoUpdater.on('update-downloaded', () => {
  // Afficher un popup pour demander à l'utilisateur d'installer la mise à jour
});

Pour publier une nouvelle release sur GitHub, vous pouvez utiliser Forge avec la commande forge publish. La release doit contenir les fichiers d'installation de l'application pour chaque plateforme cible (Windows, macOS, Linux).

Pour afficher un popup à l'utilisateur pour demander s'il souhaite installer la mise à jour, vous pouvez utiliser la fonction dialog.showMessageBox de Electron dans l'événement update-downloaded :

autoUpdater.on('update-downloaded', () => {
  dialog.showMessageBox({
    type: 'question',
    buttons: ['Installer maintenant', 'Plus tard'],
    defaultId: 0,
    message: 'Nouvelle version disponible',
    detail: 'Une nouvelle version de l\'application est disponible. Voulez-vous l\'installer maintenant ?',
  }).then((result) => {
    if (result.response === 0) {
      autoUpdater.quitAndInstall();
    }
  });
});

J'espère que cela vous aidera. N'hésitez pas à me contacter si vous avez des questions supplémentaires.

Cordialement,
Pierre

@pierrbt pierrbt added this to the Release 1.2 milestone Apr 12, 2023
@pierrbt
Copy link
Collaborator Author

pierrbt commented Apr 12, 2023

C'est un peu chiant il y a pleins de fichiers à ajouter pour que le truc marche, je vais peut etre prendre une ptite pause je continues ça dans qq jours

@pierrbt
Copy link
Collaborator Author

pierrbt commented Apr 12, 2023

En attendant si qqun a une idée :

@pierrbt
Copy link
Collaborator Author

pierrbt commented Apr 13, 2023

Il faut que je voies, peut être un serveur de màj au final ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant