 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 1 樓
|
發表於: 星期六 九月 18, 2004 10:31 am 文章主題: 完全自動更新程序的方法--Copy(轉貼) |
|
|
完全自動更新程序的方法 yxgzs
http://www.meizibbs.3322.org/bbs/dispbbs.asp?boardID=2&ID=25919
本人以前一直採用兩個文件來更新程序,覺得不是很好,看了一些論壇的介紹感覺都沒達到完全自動的要求,
最近琢磨了一下方法請狐友指正
方法一
首先聲明這個方法我沒用過
使用wininit.ini文件,這個文件的使用方法你可以在網上去搜,不過好像僅對Win9 5 Win98 WinMe有效
這個方法不好的地方是要重新啟動機器,並且不支持長文件名,比如Program Files目錄要寫成Progra~1,最要命
的是假如你在同級目錄中還有一個Programabcd的目錄那你還得判斷是Progra~1還是Progra~2
好處是可以刪除自己
有興趣的狐友可以試試
方法二
思路:利用RUN/N命令調用另外的程序後退出當前程序
1、程序登錄服務部器前加代碼
DO CASE
CASE FILE("新版本文件.EXE") AND FILE("更新程序.EXE") &&主要用於第一次更新失敗後
RUN/N 更新程序.EXE
QUIT
CASE FILE("更新程序.EXE")
INKEY(1,"H")
IF ProcID("更新程序.EXE")=0 &&沒有更新程序.EXE進程
DELETE FILE 更新程序.EXE
ENDIF
ENDCASE
2、程序登錄服務部器後加代碼
IF 有新版本
WAIT "已有新版本,正在下載,請稍候......" WINDOW ;
AT SYSMETRIC(2)/24-6,SYSMETRIC(1)/12-17 NOCLEAR NOWAIT
COPY FILE 更新程序.EXE TO 本地目錄\更新程序.EXE
COPY FILE 新版本文件.EXE TO 本地目錄\新版本文件.EXE
WAIT CLEAR
CD LEFT(SYS(16),LEN(SYS(16))-9)
RUN/N 更新程序.EXE
RETURN
ENDIF
3、寫一個更新程序與新版本文件一起放到服務器上(更新程序要包含檢查進程代碼ProcID)
DEFINE CLASS rsgzup AS form
Height = 60
Width = 300
ShowWindow = 2
DoCreate = .T.
AutoCenter = .T.
Caption = "Form1"
TitleBar = 0
Name = "Form1"
ADD OBJECT label1 AS label WITH ;
FontSize = 11, ;
Caption = "正在更新程序,請稍候......", ;
Height = 16, ;
Left = 12, ;
Top = 21, ;
Width = 240, ;
Name = "Label1"
PROCEDURE Load
SET ECHO OFF
SET TALK OFF
SET ECHO OFF
SET SAFETY OFF
ENDPROC
PROCEDURE Activate
IF !FILE("新版本文件.EXE")
THISFORM.Release
RETURN
ENDIF
FOR I=1 TO 50
INKEY(1,"H")
IF ProcID("老版本文件.EXE")=0
COPY FILE 新版本文件.EXE TO 老版本文件.EXE
DELETE FILE 新版本文件.EXE
RUN/N 老版本文件.EXE
THISFORM.Release
RETURN
ENDIF
ENDFOR
THISFORM.Label1.Caption ="更新程序失敗,按任意鍵退出"
INKEY(0,"H")
THISFORM.Release
ENDPROC
ENDDEFINE
此方法充分利用了RUN/N命令來自動啟動完成更新
在98/2000/XP下通過,你還可以在菜單中加升級檢查
檢查進程代碼(ProcID) _________________ 福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!
想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.
愛作夢 |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 2 樓
|
發表於: 星期日 九月 19, 2004 8:58 am 文章主題: |
|
|
記得好像之前 Ruey 也有貼過一篇國外網友的作法... |
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 3 樓
|
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 4 樓
|
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 5 樓
|
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 6 樓
|
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|