Gestisci l’evento di Squirrel su un’app Electron

In questi giorni mi sto avvicinando con Electron per build una piccola app nativa per Windows e sto utilizzando Grunt Electron Installer per creare un programma di installazione per la mia applicazione.

L’installer è stato creato con successo ma non so come gestire gli eventi di Squirrel all’interno della mia app, come indicato nei documenti che ho aggiunto al punto di ingresso della mia app:

var handleStartupEvent = function() { if (process.platform !== 'win32') { return false; } var squirrelCommand = process.argv[1]; switch (squirrelCommand) { case '--squirrel-install': case '--squirrel-updated': // Optionally do things such as: // // - Install desktop and start menu shortcuts // - Add your .exe to the PATH // - Write to the registry for things like file associations and // explorer context menus // Always quit when done app.quit(); return true; case '--squirrel-uninstall': // Undo anything you did in the --squirrel-install and // --squirrel-updated handlers // Always quit when done app.quit(); return true; case '--squirrel-obsolete': // This is called on the outgoing version of your app before // we update to the new version - it's the opposite of // --squirrel-updated app.quit(); return true; } }; if (handleStartupEvent()) { return; } 

Ma non so cosa fare all’interno di questa istruzione switch, per esempio, creare scorciatoie per la mia applicazione. In realtà non so nemmeno se questo interruttore funziona affatto, perché quando installo (o disinstalla) la mia applicazione viene lanciata e non si chiude mai.

Qualsiasi aiuto è apprezzato!

Puoi gestire ogni evento di Squirrel e creare scorciatoie:

  case '--squirrel-install': target = path.basename(process.execPath); updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe'); var createShortcut = updateDotExe + ' --createShortcut=' + target + ' --shortcut-locations=Desktop,StartMenu' ; console.log (createShortcut); exec(createShortcut); // Always quit when done app.quit(); return true; case '--squirrel-uninstall': // Undo anything you did in the --squirrel-install and // --squirrel-updated handlers target = path.basename(process.execPath); updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe'); var createShortcut = updateDotExe + ' --removeShortcut=' + target ; console.log (createShortcut); exec(createShortcut); // Always quit when done app.quit(); return true;