1.electron更新有两种方式
windows应用安装打包有两种
1.squirrel
第一种通过electron包里的autoUpdater模块,设置github用户名/repo仓库名,会自动拼接feedurl为https://update.electronjs.org/${用户名}/${仓库名}/${arch}/${version}
,更新服务器update.electronjs.org会去github release比 laster.xml找到合适的发行版
向该页面访问会得到如下结果
{
"name":"0.0.3",
"notes":"",
"url":"https://github.com/hoxiete/electron-download/releases/download/v0.0.3/downloadPic-Setup-0.0.3.exe"
}
下载返回的url路径的包,可是这种electron自带的更新模式仅对windows下的squirrel打包安装的应用有效。
2.nsis
第二种也就是现代风格的安装方式,可以自定义安装路径,使用’electron-updater’模块来更新,但是和github release配合的不好,所以我们要想使用github作为我们的应用仓库提供下载服务就麻烦了。
解决办法使用开源项目Hazel更新服务器,部署在vercel上,白嫖到底。。
登陆vercel,导入Hazel项目,配置两个环境变量ACCOUNT和REPOSITORY,并直接启动并访问,页面如下
这个网页的url就是我们更新服务器的地址
拼接地址, 访问即可获得下载路径
feed = `${url}/update/${process.platform}/${app.getVersion()}`