注册 登录
编程论坛 VB6论坛

VB 编写自动升级

jofexj 发布于 2014-05-20 10:00, 883 次点击
我服务器数据库里有一个表,记录版本号的。我程序每次启动检测版本号,如果不一样我就下载,可是下载的是安装文件,每次都要安装,有什么办法直接升级,不需要安装呢?
5 回复
#2
admin738962014-05-21 15:57
我也想知道
#3
alike1232014-05-21 16:16
你这个问题 我貌似在百度看到一模一样,当然肯定有回答的,我帮你找找去
#4
alike1232014-05-21 16:26
一、你首先回想一下QQ软件,他的思路和你一样,更新完后还是需要在重新安装一遍,所以你也不必自己纠结了,就是这样
二、你如果玩游戏,特别是英雄联盟这种网游,他们就是更新补丁,更新完就可以继续玩了。依照这个思路,你可以将你的功能封装成.dll文件,dll可以自动注册后立即使用,不必安装。
以上个人思路,百度没找到
#5
风吹过b2014-05-21 17:21
自动更新。
那就要自己写安装文件,自己写卸载程序。

一般的更新程序流程:
主程序:检查版本号,校验服务器上的文件。发现有更新,提示。
根据提示,启动下载更新程序。检查也可以放到 下载更新程序 里,但不如到主程序里提示更方便。
下载完成后,通知主程序,然后提示。
如果立即安装,通知 下载更新程序,然后主程序退出。
下载更新程序检索进程,发现 主程序退出后, 把下载好的文件一个一个地更新进去,同时写卸载日志,以便可以正确的卸载。 如果你不会写卸载日志,那就只能采取重新安装的办法。这种情况下,更新程序需要把自己复制一份到临时文件里去运行,还要需要取得原安装文件的内容,最后安装后还要能启动最新版的 下载更新程序。
更新完成后,启动主程序,退出下载更新程序。

QQ的的方法我理解是:
启动的就是 下载更新程序。
检查是否有更新,有则提示。
如果无需更新,加载主程序,执行。
需要更新,下载更新,安装,然后再加载主程序,执行。
QQ的主程序,都是封装好的 DLL 等,直接调用就是了。

VB 不能直接生成  Win32 的 DLL 文件,所以 4 楼的办法行不通。

游戏更新,需要自己写安装程序,要对前面的安装日志进行修改。以确保能正确完全的卸载。
#6
n0tf0und2014-06-02 07:47
建议在服务器上写一个配置文件.

[版本]1.02
[文件名]下载地址
[文件名]下载地址
.
.
.

类似于这样的,然后判断版本,如果版本号大于程序的话,下载"下载地址"中的文件,然后覆盖到"文件名",这样的话就不需要重新安装了.

或者是将需要更新的文件用winrar压缩,然后客户端下载压缩包,直接解压到文件夹中即可.总之不重新安装的方法很多的.


1