Win 下 Electron 自动更新和安装包 Nodejs 有什么现成的方案吗?
Win 下 Electron 自动更新和安装包 Nodejs 有什么现成的方案吗?
用的是 Electron 的 Windows 版预编译二进制程序( Prebuilt binaries) + asar 打包的 app.asar
所以目前是最终的目录,还没有让用户点击“下一步” “下一步”这样的安装包,这个弄成安装包一般用哪个开源软件比较好?就是安装向导之类的。。
然后就是自动更新了,目前的想法是检测到有更新的话,直接自动下载测试好的新的 app.asar 包替换旧的,看了一下官网的教程好像是结合什么 Electron 自带的更新服务然后还要编译一下什么,暂时还没看明白。。更新只针对 Windows 平台就行了。
Thank you
VSCode 并不是 NSIS 而是 Inno Setup,而 Electron 的 App 安装包一般是用的 Squirrel https://github.com/Squirrel/Squirrel.Windows
Squirrel 主要是改善 .Net App ClickOnce 的安装体验。不过专业性没有 Inno Setup 和 NSIS 好。
Electron 一般使用 electron-windows-installer 来打包和管理更新,这个工具实际上就是整合了 Squirrel。https://github.com/electron/windows-installer
针对Win下Electron自动更新和安装包Node.js的现成方案,以下是一些专业建议:
对于Electron自动更新,可以采用electron-updater
模块。该模块支持全量和增量更新,能够实现从服务器下载最新版本并替换当前版本的功能。在实现时,需要在主进程中监听更新事件,并在渲染进程中与用户进行交互。以下是一个简化的实现思路:
// 主进程中监听更新事件
const { autoUpdater } = require("electron-updater");
autoUpdater.on('update-available', () => {
// 通知渲染进程有更新可用
mainWindow.webContents.send('update-available');
});
autoUpdater.on('update-downloaded', () => {
// 通知用户更新已下载,并询问是否重启安装
mainWindow.webContents.send('update-downloaded');
});
对于安装包Node.js,可以直接从Node.js官网下载安装包进行安装。此外,也可以使用npm(Node包管理器)来安装Electron和其他依赖。为了加速下载,可以将npm的镜像源设置为淘宝镜像,例如:
npm config set registry https://registry.npm.taobao.org
npm install -g electron
这样,就可以快速安装Electron和其他Node.js包了。至于打包成安装包,可以使用NSIS等工具将Electron应用打包成Windows下的可执行安装包。