2016-11-18 3 views
0

J'essaie d'implémenter la fonctionnalité de mise à jour automatique de Windows dans une application électronique (ce qui peut entraîner ma mort prématurée) et j'obtiens cette erreur.autoUpdater.setFeedURL n'est pas une fonction

enter image description here

Ceci est l'URL je passe à des fins de test

EDIT: mon application électronique utilise les deux structure package.json et ce code est dans mon application> main.js fichier

const feedURL = 'C:\\Users\\p00009970\\Desktop\\update_test'; 
autoUpdater.setFeedURL(feedURL); 
autoUpdater.checkForUpdates(); 

EDIT2: Grâce à @JuanMa, j'ai réussi à le faire fonctionner. Voici le code.

// auto update functionality 

const {autoUpdater} = require('electron') 

// local file system example: const feedURL = 'C:\\Users\\john\\Desktop\\updates_folder'; 
// network file system example: const feedURL = '\\\\serverName\\updates_folder'; 

const feedURL = '\\\\serverName\\updates_folder'; 

app.on('ready',() => { 
    autoUpdater.setFeedURL(feedURL); 

    // auto update event listeners, these are fired as a result of autoUpdater.checkForUpdates(); 

    autoUpdater.addListener("update-available", function(event) { 

    }); 
    autoUpdater.addListener("update-downloaded", function(event, releaseNotes, releaseName, releaseDate, updateURL) { 

     //TODO: finess this a tad, as is after a few seconds of launching the app it will close without warning 
     // and reopen with the update which could confuse the user and possibly cause loss of work 

     autoUpdater.quitAndInstall(); 
    }); 
    autoUpdater.addListener("error", function(error) { 

    }); 
    autoUpdater.addListener("checking-for-update", function(event) { 

    }); 
    autoUpdater.addListener("update-not-available", function(event) { 

    }); 

    // tell squirrel to check for updates 
    autoUpdater.checkForUpdates(); 
}) 

Répondre

1

Incluez-vous correctement le module AutoUpdater?

const {autoUpdater} = require('electron') 

Si c'est le cas, essayez d'exécuter le code après l'événement 'ready' de l'application.

app.on('ready',() => { 
    const feedURL = 'C:\\Users\\p00009970\\Desktop\\update_test'; 
    autoUpdater.setFeedURL(feedURL); 
    autoUpdater.checkForUpdates(); 
}) 
+0

Y compris tout app « prêt » est débarrassé de l'erreur, mais maintenant je ne peux pas dire si elle est d'exécuter des mises à jour ou non, je l'ai poussé une mise à jour, mais rien ne se passe – Skedge

+0

Mise à jour: app prêt fixé définitivement mon question, mon problème restait était avec la merde proxy de l'entreprise. Je vais mettre à jour ma question avec le code finalisé. – Skedge

+0

content je pourrais aider! – JuanMa