在使用电子更新器更新之前请参阅发行说明
Posted
技术标签:
【中文标题】在使用电子更新器更新之前请参阅发行说明【英文标题】:See release notes before updating with electron-updater 【发布时间】:2018-01-15 13:52:40 【问题描述】:我正在尝试通过自动更新来更新我的 Electron 应用程序。我设法让它正常工作,同时它检查更新、下载更新、安装更新并重新启动应用程序。
但我真正想要的是我可以检查是否有更新;如果显示我的 latest.yml 文件中的发行说明,并且用户可以同意或取消更新。 (见下面的截图)
我尝试在输入更新可用事件时检查 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】:关于在任何 autoUpdater 实例事件中发出的对象,electron-builder 文档相当模糊。
经过一番折腾,在网上搜索,阅读文档后,我发现 autoUpdater 事件中应该只有一个参数:
autoUpdater.on('update-available', (updateInfo) =>
//Callback function
);
updateInfo 是一个任意参数名称,但参数是一个对象,其中包含来自更新的 releaseNotes、releaseDate 和其他信息。我正在使用电子更新器 v4.0.6。
updateInfo 是一个以这些值作为其属性的对象:
来源:electron.build/auto-update#module_electron-updater
【讨论】:
请edit您的答案,而不是在 cmets 中添加更多信息。以上是关于在使用电子更新器更新之前请参阅发行说明的主要内容,如果未能解决你的问题,请参考以下文章
xml 翻译不适用于通过布局更新文件注入的Breadcrumbs。请参阅以下XML代码:
Visual Studio 2017 RC 下载 最新版本的发行说明
ini IVZ:Nginx配置使用Lua作为身份验证模块。您必须使用lua支持安装nginx。请参阅Linux发行版的“openresty”或
html 在SDL媒体管理器播放器上使用endstate事件。请参阅http://jsfiddle.net/Jhorsman/NtQrN/