未在OSx中安装electron自动更新程序
electron builder版本:20.28.4 electron更新程序版本:3.1.2 OSx、Windows和Ubuntu的构建 我正在尝试创建一个带有自动更新机制的电子应用程序。我面临着自动更新程序的问题,特别是对于OSx。它在linux和windows上运行得非常好(新版本是通过autoUpdater.quitAndInstall()下载并安装的;或者当用户退出应用程序时)。然而,在OSx上,新版本可以下载,但从未安装 下载更新时触发的事件如下所示,因此我确信更新确实已下载:未在OSx中安装electron自动更新程序,electron,auto-update,Electron,Auto Update,electron builder版本:20.28.4 electron更新程序版本:3.1.2 OSx、Windows和Ubuntu的构建 我正在尝试创建一个带有自动更新机制的电子应用程序。我面临着自动更新程序的问题,特别是对于OSx。它在linux和windows上运行得非常好(新版本是通过autoUpdater.quitAndInstall()下载并安装的;或者当用户退出应用程序时)。然而,在OSx上,新版本可以下载,但从未安装 下载更新时触发的事件如下所示,因此我确信更新确实已下载: au
autoUpdater.on('update-downloaded', (ev, info) => {
setImmediate(() => {
let iChoice = dialog.showMessageBox({
type: 'question',
message: oTrad['on-update-downloaded'],
buttons: [oTrad['quit_and_install'], oTrad['install_later']]
});
if (iChoice === 0) {
setImmediate(() => {
var browserWindows = BrowserWindow.getAllWindows();
browserWindows.forEach(function(browserWindow) {
browserWindow.destroy();
});
autoUpdater.quitAndInstall();
})
}
});
});
当用户单击“退出并安装”调用autoUpdater.quitAndInstall()时,应用程序实际上并没有关闭(在docks中仍然显示为打开),也从未真正重新打开自己。如果我手动杀死它,然后再次启动它->下载的更新会再次启动,就好像从未下载或安装过更新一样。我很迷茫,因为这个机制在Linux和Windows上运行得很好
更新:
我发现我的问题与应用程序传输安全有关,它阻止了Mac上的更新,因此我在我的package.json中添加了一些配置来绕过这个问题:
"extendInfo": {
"NSAppTransportSecurity": {
"NSAllowsArbitraryLoads": true
}
}
我现在的问题是quitaninstall()函数不起作用。只有在我实际关闭应用程序时,才下载并安装新版本。如果我调用quitaninstall,我将出现以下错误:
错误:没有可用的更新,无法退出并为安装代理服务器
本机Squirell.Mac已关闭
提前感谢我在OSX上遇到了类似的问题,我通过写作解决了这个问题。在退出之前,我强制关闭所有窗口
if (iChoice === 0) {
setImmediate(() => {
app.removeAllListeners("window-all-closed")
autoUpdater.quitAndInstall(false)
})
}
我在OSX上遇到了一个类似的问题,我通过写作解决了这个问题。在退出之前,我强制关闭所有窗口
if (iChoice === 0) {
setImmediate(() => {
app.removeAllListeners("window-all-closed")
autoUpdater.quitAndInstall(false)
})
}
非常感谢,我一直在到处寻找修复方法。非常感谢,我一直在到处寻找修复方法。