当前位置: 代码迷 >> QT开发 >> 关于程序晋级功能
  详细解决方案

关于程序晋级功能

热度:50   发布时间:2016-04-25 04:15:19.0
关于程序升级功能
 做了一个Qt的windows程序、将程序分成若干个Dll和一个exe、
请问程序的升级该怎么做、求一思路;

个人想法:
  做一个文件服务器、只要把文件拖进去如果版本高于客户端版本就升级?

但是客户端如何验证?
------解决方案--------------------
你的升级是所有的包全覆盖 还是只替换一些更新的dll
如果是全替换 你的server和exe之间定一个协议或接口 传递版本 版本低就全覆盖升级(需要由另外一个exe负责升级)
如果是增量升级 只升级dll 则你需要了解下有关二进制兼容的概念  
------解决方案--------------------
楼主做一个吧,我也需要这样的一个程序。


------解决方案--------------------
一般是这样的:
支持三种协议 http, ftp, file(就是本地或局域网共享文件)

服务端放一个配置文件,里面记录着需要更新的信息。
它当然有一个固定的 url 。

客户端先读这个配置文件,根据需要下载文件到本地,然后更新重启。
重启需要用一个协同程序,你启动它,然后关掉自己,让这个协同程序再启动自己。
以前协同程序可以用 bat 实现,从 vista / win7 开始,可能有权限问题了。

基本就是这样子的。




------解决方案--------------------
不论是 EXE,还是DLL 都是可以导出 函数的。就是都像DLL那样。所以 他们可以统一的导出一个函数 叫做 VersionInformation,然后就判断版本 替换就可以了。
需要有网络支持。在网络上有一个固定的链接 获得最新的版本。
  相关解决方案