在使用电子更新程序更新之前,请参阅发行说明

时间:2017-08-08 06:27:00

标签: electron electron-builder

我正试图通过自动更新来更新我的Electron应用程序。我设法让它工作正常,而它检查更新,下载更新,安装更新并重新启动应用程序。

但我真正想要的是我可以检查是否有更新;如果显示我的latest.yml文件中的发行说明,用户可以同意或取消更新。 (见下面的截图) enter image description here

我在输入更新可用事件时尝试检查releaseNote,但第二个参数是“未定义”。

除此之外,我无法弄清楚如何显示带有是/否按钮结构的可滚动文本对话框。

现在我已经制作了一个非常粗糙的messageBox,看看我是否可以从我的yml文件中获取releaseNote,但没有运气。所以,新手就像Electron一样,用它构建/更新应用程序;我正式没有想法。

这就是我的可用更新事件现在的样子:

autoUpdater.on('update-available', (ev, info) => {
  sendStatusToWindow('Update available.' + info)
  dialog.showMessageBox({
    type: 'info',
    title: 'Found Updates',
    message: info.releaseNotes,
    buttons: ['Yes', 'No']
  }, (buttonIndex) => {
    if (buttonIndex === 0) {
      autoUpdater.downloadUpdate()
    }
  })
})

我的更新下载事件:

autoUpdater.on('update-downloaded', (ev, info) => {
  sendStatusToWindow('Update downloaded: ' + info)
  autoUpdater.quitAndInstall()
})

1 个答案:

答案 0 :(得分:0)

电子生成器文档对于在任何autoUpdater实例事件中发出的对象都相当模糊。

经过反复摆弄,在网上搜索和阅读文档后,我发现autoUpdater事件中应该只有一个参数:

autoUpdater.on('update-available', (updateInfo) => { //Callback function });

updateInfo是一个任意参数名称,但参数是一个对象,其中包含releaseNotes,releaseDate和更新中的其他信息。我正在使用电子更新程序v4.0.6。

然后

updateInfo是一个具有以下值作为其属性的对象: updateInfo object properties

来源:electron.build/auto-update#module_electron-updater