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