前言
该系列文章主要讲解自动更新程序相关,会从自动更新原理开始,到ftp与http不同下载方式,再到到如何实现配置文件更新与安装包更新,最后做成一个完整的软件。只是经验分享,描述内容并不绝对,如有误差欢迎指正。以ftp下载,配置文件更新模式为例,实现效果如下:
更新模式常态
静默更新模式
一、自动更新原理
远端服务器存放待更新的内容,本地启动程序,程序启动前将到远端检查更新内容,需要更新则下载更新内容到本地,替换本地文件完成更新,启动程序。更新流程如下。
1、配置文件更新
1-1、更新步骤
- 加载本地配置文件获取获取保存的版本号。
- 每次启动程序,首先从服务器请求最新的版本信息文件(包括文件名,版本号,文件下载地址,文件类型)。
- 解析下载的文件获取服务器版本号,与本地版本号进行比较,如果高于本地,就下载文件。
- 更新文件(将下载的文件更换或添加到程序目录下)
- 更新本地配置文件
1-2、配置文件内容
<?xml version="1.0" encoding="utf-8"?>
<filelist>
<file name="qdirect2dd.dll" dir="/plugins/platforms" version="1.1.0"/>
<file name="qminimald.dll" dir="/plugins/platforms" version="1.1.0"/>
<file name="qoffscreend.dll" dir="/plugins/platforms" version="1.1.0"/>
<file name="qwindowsd.dll" dir="/plugins/platforms" version="1.1.0"/>
<file name="Qt6Cored.dll" version="1.1.0"/>
<file name="Qt6Guid.dll" version="1.1.0"/>
<file name="Qt6Widgetsd.dll" version="1.1.0"/>
<file name="MXYFlowChart.exe" version="1.1.1"/>
</filelist>
2、安装包更新
1-1、更新步骤
- 加载本地配置文件获取获取保存的版本号。
- 每次启动程序,首先从服务器请求最新的版本信息文件(包括版本号,安装包下载地址,程序名称)。
- 解析下载的文件获取服务器版本号,与本地版本号进行比较,如果高于本地,就下载压缩包。
- 解压缩程序压缩包
- 更新本地版本号,启动安装包程序,退出当前自动更新程序
3、更新程序配置文件内容
[software]
style=2
downloadmodel=1
downloadtype=2
[download]
software_name=MXYFlowChart
url=ftp://192.168.8.4:21/download/MXYFlowChart
local_path=E:/Program code/qt/updatatest/
install_package_path = E:/Program code/qt/updatatest/
[ftpserver]
username=lenovo
password=123
[windowstyle]
title=萌学园更新程序
icon=:/update/Resource/update.png
version=V1.0.1
二、ftp与http模式介绍
http模式使用QT自带的QNetworkAccessManager类,因为使用qt6.4开发,qt不支持ftp模式,所以ftp模式使用第三方库ftplib进行二次开发。
总结
本文只做效果展示与基本实现思路,后续会继续更新具体实现。
本文只是经验分享,描述内容并不绝对,如有误差欢迎指正。文章来源:https://www.toymoban.com/news/detail-498395.html
如果此文帮助到你( •̀ ω •́ )✧,动动小手点个赞可好O(∩_∩)O。文章来源地址https://www.toymoban.com/news/detail-498395.html
原创文章,转载请标明本文出处。到了这里,关于QT 简单实现自动更新程序(一) 效果展示 功能描述 ftp模式 http模式 配置文件更新 安装包更新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!