3

我有一个使用带有 NSIS 目标的 electron-builder 打包的项目,生成一个 40 MB .exe 文件和一个 .exe.blockmap 文件(我知道这是 gzip 压缩的 JSON)作为工件。问题是,即使像版本号这样简单的事情发生变化,块图也开始有很大的不同(例如,只有 1756 个 2032 块匹配)并且每次更新最终都会下载数兆字节。

app-64.7z我知道制作包含最终包含文件的 NSIS .exe 的详细文件逐个文件映射可能并不容易app.asar,但是电子生成器甚至尝试过吗?是否可以覆盖使用一些二进制差异作为块拆分的基础,以确保连续版本之间的差异最小?我似乎找不到任何关于app-builder.exe创建块图的例程的文档。

4

1 回答 1

0

该解决方案的最大部分是在 electron-updater v22.3.1(2020 年 1 月 20 日)中引入shortVersionshortVersionWindows配置字符串,让 50 MB 的应用程序不会在每次版本更新时重新标记完整版本。

此外,空格填充所有 -bundle.js 文件(如果存在)有助于保持任何 app.asar 文件长度字段保持不变,再次限制最终文件中的更改范围。

于 2021-06-18T15:12:51.310 回答