Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Electron builder“;“可用更新”;新版本可用时未触发的事件_Electron_Electron Builder - Fatal编程技术网

Electron builder“;“可用更新”;新版本可用时未触发的事件

Electron builder“;“可用更新”;新版本可用时未触发的事件,electron,electron-builder,Electron,Electron Builder,我正在尝试使用electron builder的自动更新功能,我为更新不可用和更新可用添加了侦听器。如果没有新的更新,则会成功触发更新不可用事件,但由于某些原因,当我的应用程序的新版本可用时,更新可用事件不会被触发,是否有任何方法检查事件未被触发的原因或添加日志以查看是否发生任何错误? 下面是我的main.js代码 const { autoUpdater } = require("electron-updater"); ...other imports app.on('ready', ()

我正在尝试使用electron builder的自动更新功能,我为
更新不可用
更新可用
添加了侦听器。如果没有新的更新,则会成功触发
更新不可用
事件,但由于某些原因,当我的应用程序的新版本可用时,
更新可用
事件不会被触发,是否有任何方法检查事件未被触发的原因或添加日志以查看是否发生任何错误? 下面是我的main.js代码

const { autoUpdater } = require("electron-updater");
...other imports 

app.on('ready', () => {
//do this

//Check for updates.
autoUpdater.checkForUpdates();
}

autoUpdater.on("update-not-available", (info) => {
    const dialogOpts = {
        type: 'info',
        buttons: ['Ok'],
        title: 'Application Update',
        message: "Yay",
        detail: 'No new updates.'
      }
      dialog.showMessageBox(dialogOpts, (response) => {

      });
});

autoUpdater.on("update-available", (info) => {
    const dialogOpts = {
        type: 'info',
        buttons: ['Ok'],
        title: 'Application Update',
        message: process.platform === 'win32' ? releaseNotes : releaseName,
        detail: 'A new version is being downloaded.'
      }
      dialog.showMessageBox(dialogOpts, (response) => {

      });
})

autoUpdater.on("update-downloaded", (info) => {
    const dialogOpts = {
        type: 'info',
        buttons: ['Restart', 'Later'],
        title: 'Application Update',
        message: process.platform === 'win32' ? releaseNotes : releaseName,
        detail: 'A new version has been downloaded. Restart the application to apply the updates.'
      }

      dialog.showMessageBox(dialogOpts, (response) => {
        if (response === 0) autoUpdater.quitAndInstall()
      });
});

通过从命令行运行可执行文件,我能够找到失败的原因。因为下面的线,它失败了

message: process.platform === 'win32' ? releaseNotes : releaseName,
因为变量没有定义。通过将回调函数参数更改为包含
releaseName
releaseNotes
这样的参数来修复此问题

autoUpdater.on("update-available", (event, releaseNotes, releaseName) => {
如文件所述