線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:8337
推到 Plurk!
推到 Facebook!

自動更新程式 v1.0

 
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-03 23:38:28 IP:61.59.xxx.xxx 未訂閱
透過FTP來更新檔案,更新完後,自動呼叫程式執行.    使用步驟:
1. 將"AutoUpdate.exe","AutoUpdate.ini"及"GetFileList.exe"與要自動更新的應用程式放在同一目錄中.
2.在FTP Server中設定一組帳號及密碼,再設一個新目錄,將這組帳號登入的預設登入路徑設在此新目錄中.
3.修改"AutoUpdate,ini"內容,設定FTP Address,FTP Port,UserID,Password及更新完欲執行的執行檔.
4. 執行"GetFileList.exe", 將目錄指向要自動更新的應用程式目錄中,再按"製作列表",產生更新檔案列表(FileRev.txt),再將此檔放到與AutoUpdate.exe同目錄中.
5. 將此應用程式目錄中的所有檔案(包含底下目錄)都複製到FTP Server新建的目錄裡.
6. 以後若有更新檔,只要利用"GetFileList.exe"製作更新檔案列表(FileRev.txt),再將更新檔及FileRev.txt放到FTP Server中即可.
7. Client端只要執行"AutoUpdate.exe",就可自動更新了. PS:不知以上說明大家能看的懂嗎 = = 程式基本流程:
AutoUpdate.exe ==> 連上FTP Server ==> 下載FileRev.txt ==>
比對本機FileRev.txt與下載的FileRev.txt ==> 下載差異(最新)的檔案 ==>
執行指定的執行檔 ==> 關閉AutoUpdate.exe 發表人 - minjiu 於 2004/04/04 00:05:55
附加檔案:AutoUpdate.rar
編輯記錄
minjiu 重新編輯於 2007-12-11 10:16:54, 註解 無‧
jt25
一般會員


發表:14
回覆:30
積分:8
註冊:2003-08-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-05 14:43:08 IP:61.59.xxx.xxx 未訂閱
minjiu你好:    我有試著用你說的方法試了一下,但是好像不可以更新檔案,不知道是那 設定錯了,可以連線但是無法下載檔案。 另外可以提供程式碼,供研究嗎? 發表人 -
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-05 15:10:05 IP:218.164.xxx.xxx 未訂閱
引言: minjiu你好: 我有試著用你說的方法試了一下,但是好像不可以更新檔案,不知道是那 設定錯了,可以連線但是無法下載檔案。 另外可以提供程式碼,供研究嗎? 發表人 - >< face="Verdana, Arial, Helvetica"> 能描述一下訊息嗎? FileRev.txt是不有放到FTP Server裡? 正常來說Client端只要有AutoUpdate.exe和AutoUpdate.ini就可以了. 至於公開程式碼...等有空時,把程式碼修整齊及加上註解後再放上來吧..
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-05 15:51:05 IP:218.189.xxx.xxx 未訂閱
佷不錯,期待你公開程示碼。。
Register
一般會員


發表:5
回覆:13
積分:3
註冊:2004-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-06 08:02:46 IP:61.143.xxx.xxx 未訂閱
不错!期待中!如果可以制作“差异补丁”就更好!我们有 上百个终端, 都这样下的话服务器吃不消。
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-09 12:49:59 IP:61.219.xxx.xxx 未訂閱
已附上原始碼了...有興趣的人可以看看...
Register
一般會員


發表:5
回覆:13
積分:3
註冊:2004-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-04-11 09:21:30 IP:218.15.xxx.xxx 未訂閱
试用过,很不错! 我的软件升级是通过制作'差异补丁' 方式的(升级包小很多), 请问你能否改一下流程: 1)检查版本 -> [无新版本] 2)运行主程式 1)检查版本 -> [有新版本] 2) 下载补丁(*注1) -> 3) 运行补丁 -> 4)运行主程式 *注1: 可能存在多种版本的差异升级补丁:如 1.0to5.0.exe;2.0to5.0.exe;3.0to50.exe;4.0to5.0.exe
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-04-12 09:06:04 IP:211.22.xxx.xxx 未訂閱
是否可以改成 HTTP 的方式呢? 我是雪龍
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-04-14 12:26:55 IP:218.172.xxx.xxx 未訂閱
引言: 是否可以改成 HTTP 的方式呢? 我是雪龍
當然可以啊,我程式碼已公佈了,有興趣的人可以改看看,應該很簡單吧... 改完之後希望也能開放給大家使用...
One2Free
一般會員


發表:26
回覆:28
積分:20
註冊:2004-05-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-05-17 19:25:20 IP:202.105.xxx.xxx 未訂閱
很不错! 我正在使用。 但感觉上 GetFileList.exe 功能不够完善,希望能公布 GetFileList.exe 的源码。 谢谢! 發表人 - One2Free 於 2004/05/17 19:27:42
njjsl
一般會員


發表:1
回覆:2
積分:0
註冊:2003-10-23

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-05-19 00:43:39 IP:211.87.xxx.xxx 未訂閱
支持斷點續傳嗎?
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-06-03 13:29:02 IP:211.22.xxx.xxx 未訂閱
引言: 很不错! 我正在使用。 但感觉上 GetFileList.exe 功能不够完善,希望能公布 GetFileList.exe 的源码。 谢谢! 發表人 - One2Free 於 2004/05/17 19:27:42
GetFileList.exe 依據所指定的目錄, 先廣後深的列出所有的檔案與目錄存檔成 FileRev.TXT 做更新的依據一行一個項目, 分為 型態(F為檔案,D為目錄),名稱,最後修改日期 三個欄位用 ',' 做分隔. 所以只要會寫目錄搜尋與檔案處理就可以自行完成了. 我是雪龍
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
pennylin50
一般會員


發表:0
回覆:1
積分:0
註冊:2003-10-24

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-07-20 21:42:38 IP:203.70.xxx.xxx 未訂閱
引言: -------------------------------------------------------------------------------- GetFileList.exe 依據所指定的目錄, 先廣後深的列出所有的檔案與目錄存檔成 FileRev.TXT 做更新的依據一行一個項目, 分為 型態(F為檔案,D為目錄),名稱,最後修改日期 三個欄位用 ',' 做分隔. 所以只要會寫目錄搜尋與檔案處理就可以自行完成了. -------------------------------------------------------------------------------- 請問minjiu大大,可以說明一下您的第三個欄位(最後修改日期)的編碼方式的作法嗎? 感謝
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-07-28 12:28:05 IP:220.130.xxx.xxx 未訂閱
引言: 引言: 請問minjiu大大,可以說明一下您的第三個欄位(最後修改日期)的編碼方式的作法嗎? 感謝
pennylin50您好!! 是利用FileAge(FileName)產生的...
such
一般會員


發表:15
回覆:15
積分:6
註冊:2003-06-25

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-09-02 10:16:57 IP:220.229.xxx.xxx 未訂閱
可否請大大分享一下 GetFileList.exe 的原始檔呢^^
bc
一般會員


發表:1
回覆:6
積分:1
註冊:2004-08-18

發送簡訊給我
#16 引用回覆 回覆 發表時間:2004-11-02 09:53:30 IP:220.134.xxx.xxx 未訂閱
請問 我在試著修改時此原始碼,卻發生以下錯誤。 [Fatal Error] Unit1.pas(11): File not found: 'NMConst.dcu' 我環境是 D7 /window 2000 server,我再次下載,未修改直接Build 也仍產生一樣的錯誤。 請問要如何解決呢?
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#17 引用回覆 回覆 發表時間:2004-11-05 12:28:05 IP:163.29.xxx.xxx 未訂閱
引言: 請問 我在試著修改時此原始碼,卻發生以下錯誤。 [Fatal Error] Unit1.pas(11): File not found: 'NMConst.dcu' 我環境是 D7 /window 2000 server,我再次下載,未修改直接Build 也仍產生一樣的錯誤。 請問要如何解決呢?
請安裝Indy 9.0以上的元件後再試看看吧~~~
john2834
一般會員


發表:4
回覆:9
積分:2
註冊:2004-10-29

發送簡訊給我
#18 引用回覆 回覆 發表時間:2004-11-07 23:28:20 IP:218.171.xxx.xxx 未訂閱
出現 找不到'App.exe'執行檔 這是怎麼一回事.......
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#19 引用回覆 回覆 發表時間:2004-11-08 09:38:36 IP:220.130.xxx.xxx 未訂閱
引言: 出現 找不到'App.exe'執行檔 這是怎麼一回事.......
請看"AutoUpdate.ini"的內容吧~~
john2834
一般會員


發表:4
回覆:9
積分:2
註冊:2004-10-29

發送簡訊給我
#20 引用回覆 回覆 發表時間:2004-11-08 22:37:03 IP:163.16.xxx.xxx 未訂閱
我使用YAHOO的FTP就是網頁用的哪個 可以嗎???? 看那個INI檔看不出啥名堂.....
jt25
一般會員


發表:14
回覆:30
積分:8
註冊:2003-08-19

發送簡訊給我
#21 引用回覆 回覆 發表時間:2005-03-07 23:59:00 IP:61.58.xxx.xxx 未訂閱
minjiu您好: 您公佈的程式碼,我試了一下是可以執行和更新也相當的完美,但是下載下來的檔案日期會依當時的日期和時間存檔,是否可以保留原始檔案的時間和日期呢?
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#22 引用回覆 回覆 發表時間:2005-03-09 20:00:06 IP:59.104.xxx.xxx 未訂閱
引言: minjiu您好: 您公佈的程式碼,我試了一下是可以執行和更新也相當的完美,但是下載下來的檔案日期會依當時的日期和時間存檔,是否可以保留原始檔案的時間和日期呢?
jt25您好!! 要保留原始檔案的時間和日期可能比較因難,但可以用一個投機的方式... 可以將下載下來的檔案,利用SetFileTime這個函式將檔案重設時間/日期即可,每個檔案的時間/日間都記錄在FileRev.txt裡...
breeze_1
一般會員


發表:33
回覆:72
積分:21
註冊:2003-05-26

發送簡訊給我
#23 引用回覆 回覆 發表時間:2005-09-20 09:05:29 IP:61.235.xxx.xxx 未訂閱
請問AutoUpdate.exe是手動執行還是開啓應用程式時自動執行?
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#24 引用回覆 回覆 發表時間:2005-09-26 23:00:04 IP:220.229.xxx.xxx 未訂閱
引言: 請問AutoUpdate.exe是手動執行還是開啓應用程式時自動執行?
breeze_1您好!! 你可以在AutoUpdate.ini中設定更新完後要自動執行的程式,所以你只要執行AutoUpdate.exe,就會先檢查有沒有檔案需要更新,等檢查及更新完後,就會自動執行你想要執行的程式了.
mjih
一般會員


發表:7
回覆:12
積分:3
註冊:2007-12-09

發送簡訊給我
#25 引用回覆 回覆 發表時間:2009-03-11 02:04:48 IP:220.135.xxx.xxx 訂閱
您好 方便請教您 關於您所發的自動更新的問題嗎?
目前您所發的功能為比對txt後自動更新(現階段)
可是有個疑問,如果user擅自修改你所更新後下載的檔案(非txt)
Server端卻無法判別,請問有解嗎?
編輯記錄
mjih 重新編輯於 2009-03-11 02:05:36, 註解 無‧
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#26 引用回覆 回覆 發表時間:2009-03-11 23:20:16 IP:122.116.xxx.xxx 訂閱
 試試看這樣的做法
由真正執行檔 去呼叫AutoUpdate.exe ; 並傳入 該執行檔原始檔名 及被修改後的檔名
這樣AutoUpdate就能下載真正的檔案
並將其修改為User更改後的檔案名稱
然後呼叫該執行檔
------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
系統時間:2024-05-14 16:00:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!