autoUpdater.setFeedURL不是一个函数

时间:2016-11-18 15:53:41

标签: electron auto-update squirrel.windows

我试图在电子应用中实现Windows自动更新功能(这可能导致我的早逝)并且我收到此错误。

PHP Doc

这是我为测试目的传递的网址

编辑:我的电子应用程序正在使用两个package.json结构,此代码位于我的应用程序> main.js文件中

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

EDIT2:感谢@JuanMa,我能够让它发挥作用。这是代码。

// 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();
})

1 个答案:

答案 0 :(得分:2)

您是否正确包含autoUpdater模块?

const {autoUpdater} = require('electron')

如果是,请尝试在应用'ready'事件后执行代码。

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