electron-tiny-updater

tiny electron updater


Keywords
electron, electron app, electron application, application, electron update, update, windows, mac
License
MIT
Install
npm install electron-tiny-updater@1.0.1

Documentation

English

一个极精简版本的electron应用更新器,依赖electron-builder打包的结果,支持mac和win

没有electron-updater的诸多校验和判断逻辑,只是单纯的下载和执行安装包,如果你用NSIS处理打包结果,比如添加一些注册表操作等,你就通不过electron-updater的sha校验,或者你手动生成一个sha值填到latest.yml中

安装

npm i electron-tiny-updater

使用

在你的electron应用主进程中添加如下代码

const {tinyUpdater} =  require('electron-tiny-updater');
const path =  require('path');

const emitter = tinyUpdater({
  currentVersion: '1.0.2', // 当前应用的版本号
  ymlUrl: 'https://xxx.com/latest.yml', // yml文件的url
  ymlFilename: 'latest.yml', // yml文件名
  pkgUrl: 'https://xxx.com/app.exe', // 安装包url
  pkgFilename: 'app.exe', // 安装包名称
  filePath: path.join(__dirname, '../..') // 文件保存的路径
});

emitter.on('download-progress', (total, length)=>{
  console.log(total, length, 'progress')
});

emitter.on('error', (e)=>{
  console.log(e, 'error')
});

ymlFilename可以省略,在win下默认值是latest.yml,mac下是latest-mac.yml

pkgFilename可以省略,在win下默认值是yml中files项里第一个以.exe结尾的url值,mac下是yml中files项里第一个以.dmg结尾的url值,如果还找不到,会取path值

说明

以windows为例,一般我们用electron-builder打包会得到一个latest.yml,里面会包含安装包的版本信息,electron-tiny-updater会根据版本号version判断是否下载更新,下载后执行安装文件

version: 2.1.2
files:
  - url: app_2.1.2.exe
    sha512: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    size: 59388528
  - url: app_2.1.2.zip
    sha512: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    size: 19388528
path: app_2.1.2.exe
sha512: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
releaseDate: '2020-06-17T03:52:46.882Z'