本文是对参考以下文章的补充记录,阅读本文前请详阅以下文章并理解
Electron+Vue客户端一键生成多版本差分全资源增量更新包-优快云博客文章浏览阅读1.4k次,点赞37次,收藏22次。Electron+Vue允许指定安装路径、强制/非强制更新,全量/增量更新,一键生成所有版本的差分增量更新包,包含第三方exe、dll的增量更新https://blog.youkuaiyun.com/sinat_40408885/article/details/136581058
目录
package.json
{
// 用于生成全局唯一标识符,类似于appId,打包构建时修改注册表需要
"guid": "com.example.myapp",
// 是否强制更新
"forceupdate": false,
// 最新版本的发布信息(我未使用,结构参考build中的releaseInfo)
"latestReleaseInfo": [],
// 构建配置
"build": {
// 发布提供者配置(latest.yml问题参考我的历史文章)
"publish": {
// 通用的文件发布提供者,用于将文件发布到本地文件系统或自定义的远程服务器
"provider": "generic",
// 服务器地址(用于electron-updater获取更新)
"url": "http://www.example.com"
},
// 构建完成后执行(此处用于生成差量包,update为原background.js)
"afterAllArtifactBuild": "update/.electron-delta.js",
// 打包前处理(此处用于替换app-builder-lib的nsi脚本)
"beforePack": "update/scripts/beforePack.js",
// 相关发布信息
"releaseInfo": {
// 发布名称
"releaseName": "我的软件名称",
// 此处存放版本说明,用于updater监听update-available事件时自定义显示版本说明
"releaseNotesFile": "update/public/release-notes.md"
},
"nsis": {
// 自定义安装程序的包含脚本,此处用于定义安装前进程检查及安装成功修改注册表等
"include": "update/scripts/checkEnv.nsh",
// 同上,需相同
"guid": "com.example.myapp",
// 关闭报错
"warningsAsErrors": false,
// 关闭一键安装(deleteAppDataOnUninstall参数失效)
"oneClick": false,
// 允许更改安装目录
"allowToChangeInstallationDirectory": true,
// 自定义构建输出文件的命名
"artifactName": "XXX-${version}-${arch}-setup.${ext}",
// 系统级别安装应用程序
"perMachine": true,