Electron打包调参软件(windows版)

----------------------------------可选安装位置,可自动更新,手动更新

一:引包:electron,electron-builder,electron-updater**

npm i electron --save-dev
npm i electron-builder --save-dev
npm i electron-updater --save
注:每个包都要放在相应的位置;

Package.json配置:

1.字段:”build”

参数:

{"publish": [{"provider": "generic","url": "http://localhost:8899/"   //存放软件版本的地址}],"directories": {"output": "release",      //打包后文件所在位置"app": "./"    //开始位置},"win": {    //windows下安装软件配置参数"target": ["nsis",  //打包为nsis安装文件"zip"   //打包为安装文件zip]},"nsis": {   //nsis配置参数"oneClick": false,    //可单击打开"allowToChangeInstallationDirectory": true,    //允许用户选择安装位置"perMachine": true}
};

2.字段:”script”

参数:

{"dist": "electron-builder"
}

3.字段:”version”

参数:

1.0.0   //保存版本信息,通过该字段完成更新功能(必须字段)

二:打包:npm run dist

等待打包,打包完成之后生成的文件会放在output字段设置的位置;

这是打包完成后生成的文件,其中latest.yml是electron-builder自动生成的版本管理文件, 该文件保存有版本信息;

箭头指向的文件为可安装软件,即打包后的目标文件;

版本文件:

可以看到,现在打包的版本为2.0.0,想要改变版本只要更改package.json的version字段,重新打包即可;

点击该文件可进行安装:

三:更新

确认已经安装了electron-updater

1.需要在electron主进程中引入electron-updater;

const autoUpdater = require("electron-updater").autoUpdater; //引入 autoUpdater

2.以下代码需要在完成创建BrowserWindow后执行;

autoUpdater.setFeedURL('http://localhost:8899/'); //设置检测更新地址(参数为 软件所在位置)

3.autoUpdater.checkForUpdates() //检测是否有新版本,如果有新版本则自动下载;

4.autoUpdater.on('update-downloaded', function () { //下载完成后执行 quitAndInstall

autoUpdater.quitAndInstall();  //关闭软件并安装新版本

});

5.安装程序后,每次打开都会执行上述代码,每次都会检测是否有新版本;

6.最后一步,打包一个新版本的软件,把exe文件和latest.yml一起放在autoUpdater.setFeedURL()设置的路径下;

打开软件后检测到有新版本时就会自动下载安装:

以上为软件自动更新,若要软件手动更新还需要electron主进程和渲染进程之间的通讯,通过用户操作触发更新检测,下载更新事件;

以下是autoUpdater手动更新时可能用到的方法和事件;

事件列表

autoUpdater 对象会触发以下的事件:事件:'error'返回:error Error当更新发生错误的时候触发。事件:'checking-for-update'当开始检查更新的时候触发。事件:'update-available'当发现一个可用更新的时候触发,更新包下载会自动开始。事件:'update-not-available'当没有可用更新的时候触发。事件:'update-downloaded'返回:event EventreleaseNotes String - 新版本更新公告releaseName String - 新的版本号releaseDate Date - 新版本发布的日期updateURL String - 更新地址在更新下载完成的时候触发。在 Windows 上只有 releaseName 是有效的。

方法列表

    autoUpdater 对象有以下的方法:autoUpdater.setFeedURL(url)url String设置检查更新的 url,并且初始化自动更新。这个 url 一旦设置就无法更改。autoUpdater.checkForUpdates()向服务端查询现在是否有可用的更新。在调用这个方法之前,必须要先调用 setFeedURL。autoUpdater.quitAndInstall()在下载完成后,重启当前的应用并且安装更新。这个方法应该仅在 update-downloaded 事件触发后被调用。

electron打包可选择安装位置,可自动更新相关推荐

  1. docker选择安装位置_自定义WSL的安装位置,别再装到C盘啦

    本文使用 Zhihu On VSCode 创作并发布 为了用docker,今天才决定更新到win10 2004 打算另外装一个WSL2的发行版折腾docker和GPU,发现之前装WSL到非系统盘的教程 ...

  2. tim怎么设置检测到新版本自动安装 tim安全自动更新的开启方法

    TIM想要开启自动检测新版本并下载安装,该怎么设置呢?下面我们就来看看详细的教程. 1.首先,在你的 电脑中找到TIM; tim怎么设置检测到新版本自动安装?tim安全自动更新的开启方法 2.打开TI ...

  3. docker选择安装位置_监控摄像机的安装位置选择和焦距选择

    监控探头的清晰度,越来越高,但是如果安装位置和焦距选择不恰当,那最终的监控图像的效果往往不尽人意.本节文章,介绍一下如果避开不恰当的安装位置.如何选择合适的焦距. 安装位置选择 1:避免背光和过曝 安 ...

  4. 记录安装torchtext会自动更新pytorch版本导致gpu加速失效问题

    1.配置描述 OS:win10 显卡:Nvidia GeForce MX150 版本426.00 cuda:cuda 10.1 且无法升级到10.1之后的版本 python:3.9.7 原torch版 ...

  5. c#获取autocad安装位置_AutoCAD自动切换输入法插件

    昨天有网友评论,问我"有没有打开CAD就让字体(我觉得他想说的是输入法)自动进入英文状态,而不是中文". 今天就给大家送来了两个AutoCAD自动切换输入法的插件,使用方法都比较简 ...

  6. python怎么选择安装位置图片_怎么下载官网python并安装

    怎么下载官网python并安装? 百度搜索Python官网. 看到上图显示官网的没,点击进入. 把鼠标移到downloads上,然后看到下拉选项,点击Windows. 然后看到如下界面. 这么多的安装 ...

  7. docker选择安装位置_如何使用docker 1.13版本更改centos 7中的docker安装目录

    我在下面附上了码头工人的详细信息, $docker info Containers: 3 Running: 3 Paused: 0 Stopped: 0 Images: 26 Server Versi ...

  8. 建立apk定时自动打包系统第三篇——代码自动更新、APP自动打包系统

    我们的思路是每天下班后团队各成员在指定的时间(例如下午18:30)之前把各自的代码上传到SVN,然后服务器在指定的时间(例如下午18:30)更新代码.执行ant 打包命令.最后将apk包存放在指定目录 ...

  9. electron打包的一些问题

    1.打包配置 在vue.config.js中 pluginOptions: {electronBuilder: {builderOptions: {win: {icon: './public/app. ...

最新文章

  1. 如果知道两点的经纬度 如何算两点之间的距离
  2. zabbix3调用接口发送短信告警
  3. 如何基于多线程队列简单实现mq
  4. opengl加载显示3D模型ZAE类型文件
  5. --- struts数据源配置(详解)---
  6. 【华为云技术分享】玩转云上数据湖,解析Serverless 技术落地
  7. map转成url拼接请求参数
  8. TextView IME option
  9. 配置STP、RSTP以及负载均衡
  10. 软件易用性文章分享第二篇-手机易用性: 一个经典的实验
  11. python爬取起点中文网小说
  12. 在virtualbox安装xp系统及安装oracle
  13. 百度移动搜索落地页体验广告白皮书3.0上线
  14. 传说中的世界500强面试题-智力急转弯
  15. Win10如何使用BC3.1精简版
  16. python gdal迭代写为ENVI的dat格式
  17. 数据库例题(创建数据库SPJ包含S、P、J和SPJ表)
  18. idea修改代码仓库地址和用户密码
  19. mysql 分离和附加数据库_分离数据库和附加数据库有什么区别
  20. 【013】如何给EXCEL编写的宏设置打开密码_#VBA

热门文章

  1. Android.mk和Application.mk文件语法规范说明及举例
  2. 用python写希尔排序_python希尔排序介绍(实例)
  3. oracle比较运算符 速度,Oracle学习日志-5(算数运算符,比较运算符和逻辑运算符)...
  4. python如何调用文件_如何调用另一个python文件中的代码
  5. Java学习总结:4
  6. 用栈实现形如a+bb+a@的中心对称字符的检验
  7. 作业六:图像编码相关概念
  8. SVN状态图标不显示的两种解决办法
  9. java this final_Java this、final等关键字总结
  10. python中json dumps_python中json.loads,dumps,jsonify使用