# 建议用个很俗的方法...

Posted by 小Sam on March 30, 1999 at 15:26:31:

In Reply to: 请教各位高手:程式自动更新的问题 posted by 飞狐 on March 28, 1999 at 17:18:07:

先声明,只是建议而已..

我的想法是:反正User又看不到你写的程式,
所以我只要让它看起来就是要的结果,
管它程式怎么写...如果你认同这点的话
那强力建议你不必再钻牛角尖了,试试以下的方法

我的做法是:
先将版本存成一个档(不管是文字或是加密的mdb都好)
例如 ver.txt 内容 "2.14.022"
每次程式执行时都会查阅自己的编译版本是否等于ver.txt

Label3.Caption = "版本 " & App.Major & "." & App.Minor & "." & App.Revision

Open "\\worker\d\VER.txt " For Input As #2
Input #2, ve
Close #2

If ve <> Label3.Caption Then
q = MsgBox("请自行将CS_Worker\程式安装\升级档案\NEW.EXE" & Chr(13) & _
"拷贝至您的C:\ProgramFiles\EPSON\ 内即可完成更新!!" & Chr(13) & Chr(13) & _
"目前使用版本 : " & Label3.Caption & Chr(13) & _
"请更新至版本 : " & ve, vbOKOnly, "版本需要更新!!")
End

上面我因为懒得再写,就叫User自己将程式关闭,
然后将新档案复制过去,
如果要做到全自动,
那也很简单,
再呼叫另一个程式B,
(当然程式B也须先做好并已安装在客户端,或是做个.bat的档案)
然后把自己(程式A)关闭
在程式B里,用Copy的指令把更新档覆盖原程式A
呼叫新的程式A,再将B关掉即完成
重点是.....
User根本不知道你做了这些步骤(可能它真的绕了那么一点点路)
他只知道--"程式自动升级了,好聪明呀!"
当然你还可以做的更屌一点 ,
像我,就让程式每个几秒就去Check ver.txt 内容是否更动,
一有更动,就通知User,
所以当我编译好新程式时,只需修改 ver.txt的内容即可!
以前我也是向您一样,改一次程式就得一一通知大家,
并且在那边CO来CO去.....
(不过若你有重大修改,如加入新元件,那还是得重新SETUP)

: 使用 VB6, NT SERVER, SQL 6.5, 请问如何让工作站连上SERVER时自动更新所设计的软体?? 因为有几十台工作站,当程式有修改时,不想每次都用VB6封包并在每台工作站安装...

Follow Ups: