ybbihsse 发表于 2010-11-17 10:29:48

软件更新问题[已解决]

本帖最后由 ybbihsse 于 2010-11-29 10:15 编辑

想求个可以判断软件版本,要是低版本自己更新为最新版本的脚本哈!!

nmgwddj 发表于 2010-11-17 10:38:58

我看好多农场的外挂都是读INI的版本信息,然后对比自己服务器上的信息是否一致,不一致就升级。
不知道有没有更好的办法

h20040606 发表于 2010-11-17 14:11:07

2楼的是正解,这是非常不错的方法

ybbihsse 发表于 2010-11-22 15:26:20

具体能不能给段代码来看下哈~~呵呵!!

nbmpe 发表于 2010-11-27 10:06:24

本帖最后由 nbmpe 于 2010-11-27 10:09 编辑




打开软件首先联网,CLIENT.INI 与SERVER上的SERVER.INI比较.
如果VER的值相等.则执行程序.运行时程序名从CLIENT.INI获得. 是程序名,不是路径.
如果VER不相等.则拷贝SERVER.INI 到CLIENT.INI 然后提取ok1后面的内容,与本地文件名对比,如果相同则不执行,向下检测,
向下ok2后面的值,如果是HDDV1.3(不相同)则删除HDDV1.0.EXE,并从服务器上下载HDDV1.3.EXE

主程序只是一个框架, 分程序开头 IF NOT WINEXIST("主程序")THEN EXIT
主程序用ShellExecuteWait 命令调用分程序,并获得分程序的执行结果.


如果是主程序更新, 则先拷SERVER上的主程序到临时目录.并在此目录生成BAT或别的文件如S.BAT
新的主程序拷完成 , 生成新文件,并运行BAT后,则退出.
BAT内容大致这样:
PING 127.0.0.1 -8 >NUL
COPY 临时目录\新的主程序.EXE 程序目录\主程序.EXE /Y
IF EXIST 程序目录\主程序.EXE ECHO 升级成功.
:EXIT

nbmpe 发表于 2010-11-27 10:13:37

把BAT的功能.用AU3编成UPDATA.EXE功能会更强大.不用生成.直接像软件一样放在安装目录下就行.更新路径直接从服务器上读取.

ybbihsse 发表于 2010-11-29 10:16:00

谢谢~~非常感谢
页: [1]
查看完整版本: 软件更新问题[已解决]