做了一个Qt的windows程序、将程序分成若干个Dll和一个exe、
请问程序的升级该怎么做、求一思路;
个人想法:
做一个文件服务器、只要把文件拖进去如果版本高于客户端版本就升级?
但是客户端如何验证?
------最佳解决方案--------------------
你的升级是所有的包全覆盖 还是只替换一些更新的dll
如果是全替换 你的server和exe之间定一个协议或接口 传递版本 版本低就全覆盖升级(需要由另外一个exe负责升级)
如果是增量升级 只升级dll 则你需要了解下有关二进制兼容的概念
------其他解决方案--------------------
楼主做一个吧,我也需要这样的一个程序。
------其他解决方案--------------------
一般是这样的:
支持三种协议 http, ftp, file(就是本地或局域网共享文件)
服务端放一个配置文件,里面记录着需要更新的信息。
它当然有一个固定的 url 。
客户端先读这个配置文件,根据需要下载文件到本地,然后更新重启。
重启需要用一个协同程序,你启动它,然后关掉自己,让这个协同程序再启动自己。
以前协同程序可以用 bat 实现,从 vista / win7 开始,可能有权限问题了。
基本就是这样子的。
------其他解决方案--------------------
不论是 EXE,还是DLL 都是可以导出 函数的。就是都像DLL那样。所以 他们可以统一的导出一个函数 叫做 VersionInformation,然后就判断版本 替换就可以了。
需要有网络支持。在网络上有一个固定的链接 获得最新的版本。
------其他解决方案--------------------
那也需要一个思路吧!
------其他解决方案--------------------
你搞定了么?
有模型给用用呗!
------其他解决方案--------------------
没有哎,以前搞过半产品,也不是Qt下的。
------其他解决方案--------------------
现在获取不到他的版本号