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

要如何在程式啟動後自動判斷是否為最新版的方式?

尚未結案
S1990xyz
一般會員


發表:6
回覆:13
積分:3
註冊:2003-03-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-17 23:16:18 IP:61.230.xxx.xxx 未訂閱
目前,有愈來愈多的軟體在執行時會自動連結到該軟體的服務站台,然後會判斷目前使用的軟體是否為最新,並會詢問使用者是否要更新? 同時,也會有一些相關的資訊提供給使用者參考,請問各位先進,這樣的功能是如何做到的?
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-17 23:40:46 IP:218.166.xxx.xxx 未訂閱
站上已有討論過 請見 http://delphi.ktop.com.tw/topic.php?topic_id=18890
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-18 08:31:44 IP:61.155.xxx.xxx 未訂閱
做版本更新,其实就是对版本的标识进行比较: 1.上面的方法,天使站长说的建立FTP站点。 2.相似的方法,可以通过WEB、MAIL等方法进行标识及相关信息的传输 具体用什么方法,这个关键是你的想法;或许您也有其它的想法; 但最终的目的就是[标识比较]    供参考!    风花雪月 e梦情缘
------
风花雪月 e梦情缘
netwolf
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-23 08:28:32 IP:61.218.xxx.xxx 未訂閱
www.appcontrols.com上有一個元件,Autoupgrader,會自動檢查伺服器上是否有新版本,且做reboot或程式重新啟動
netwolf
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-23 08:39:07 IP:61.218.xxx.xxx 未訂閱
站上已有這個元件,搜尋一下
S1990xyz
一般會員


發表:6
回覆:13
積分:3
註冊:2003-03-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-23 10:32:59 IP:210.208.xxx.xxx 未訂閱
回應 wnhoo 兄的說法: 沒錯,我就是要進行「標識比較」,但這部分是否就是利用在 Delphi -> Project -> Options -> [Version Info] 的 Module version information project 功能進行版本比較? (上面乃為 Local 端的版本比較方法,因為使用者不一定會連上網絡 所以不一定會用在 FTP、WEB 的方式) 不過,先感謝其他二位仁兄的回答,我會先參考看看!
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-23 13:15:27 IP:61.155.xxx.xxx 未訂閱
S1990xyz 兄:    1.建立標誌 關於建立標識符的方法有多種,比如在註冊表中增加標誌位、在某個文件中建立標誌等等;    2.獲取對比標誌 (1)網絡方式FTP、WEB、MAIL (2)本地方式:升級盤。 或許還有更好的方法。    S1990xyz 兄:    1.建立标志 关于建立标识符的方法有多种,比如在注册表中增加标志位、在某个文件中建立标志等等;    2.获取对比标志 (1)网络方式FTP、WEB、MAIL (2)本地方式:升级盘。 或许还有更好的方法。        风花雪月 e梦情缘
------
风花雪月 e梦情缘
S1990xyz
一般會員


發表:6
回覆:13
積分:3
註冊:2003-03-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-28 10:54:55 IP:210.208.xxx.xxx 未訂閱
引言: S1990xyz 兄: 1.建立標誌 關於建立標識符的方法有多種,比如在註冊表中增加標誌位、在某個文件中建立標誌等等; 2.獲取對比標誌 (1)網絡方式FTP、WEB、MAIL (2)本地方式:升級盤。 或許還有更好的方法。 S1990xyz 兄: 1.建立标志 关于建立标识符的方法有多种,比如在注册表中增加标志位、在某个文件中建立标志等等; 2.获取对比标志 (1)网络方式FTP、WEB、MAIL (2)本地方式:升级盘。 或许还有更好的方法。 风花雪月 e梦情缘
請教您,二個問題: 1.在 Delphi -> Project -> Options -> [Version Info] 的 Module version information project 的功能,是要作什麼用的 難道不能作版本比對的工作嗎? 2.因我現階段不想透過網絡的方式進行,但我每重新發行一次版本,我想要 先檢查磁碟機是否已有原來的檔案,假如有的話,取得此檔案的版本號碼 然後進行判斷,並將此檔案進行更新,請問這樣的作法是否合理? 其程式的功能要如何撰寫才會比較好? 謝謝您的說明!(因為我是Delphi的新手,還在學習階段)
acc3639
一般會員


發表:6
回覆:1
積分:1
註冊:2003-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-28 13:11:24 IP:210.243.xxx.xxx 未訂閱
在工作目錄內建立一個二進位檔或文字檔 在每次update時去更新它的內容 至於這個檔案也就是來判斷版本的內容
cuteysc
初階會員


發表:16
回覆:37
積分:35
註冊:2003-05-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-30 12:41:36 IP:61.216.xxx.xxx 未訂閱
一個使用 FTP 的方法 (但不需要重新安裝)    設立一個 FTP Server, 並放入一個文字檔 這個文字檔內包含了 [檔案名稱] [檔案大小 Bytes] 當程式下載後該文字檔後, 即利用檔案大小比對方式比對檔案名稱 .. 若發生 : 1. 沒有此檔案 then 下載 2. 檔案大小不對 then 下載 3. 檔案大小相符 then 比對下一個檔案 如此 .. 一直比對到檔案結束, 完成整個 AutoPatch 的動作 這樣一來, FTP Server 端必須有一支程式, 分析 FTP 內資料夾所有檔案的名稱以及檔案大小, 並再每次版本有變動之時, 做一次分析, 以便造出 Patch 文字檔    這樣的方式有個好處 : 1. 使用者不必重新下載 Install.exe 執行檔 (因為有可能你只更動一張 .bmp 圖片或是 .dll 函式庫) 對於大型的軟體, 是不適合讓使用者每次都下載幾十或是幾百 MB 的安裝檔    2. 只要有新版本或新檔案需要更新, 軟體商只要將新檔案放入 FTP 內, 相當方便    當然也有缺點 : 1. 新的檔案大小與舊檔案大小相同, 則會發生錯誤, 這點必須注意    也有更好的方法, 所謂的 CRC Check, 這樣可以防止檔案大小相同而 Patch 佈到的問題.. 有關 CRC Check, 若有興趣我再 Po 上    Y.S.C.
現任:Programmer 深度論壇 BCB Internet 版主
http://www.chatking.net 聊天王 語音聊天社群 創辦人
S1990xyz
一般會員


發表:6
回覆:13
積分:3
註冊:2003-03-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-06-06 08:25:48 IP:210.208.xxx.xxx 未訂閱
引言: 一個使用 FTP 的方法 (但不需要重新安裝) 設立一個 FTP Server, 並放入一個文字檔 這個文字檔內包含了 [檔案名稱] [檔案大小 Bytes] 當程式下載後該文字檔後, 即利用檔案大小比對方式比對檔案名稱 .. 若發生 : 1. 沒有此檔案 then 下載 2. 檔案大小不對 then 下載 3. 檔案大小相符 then 比對下一個檔案 如此 .. 一直比對到檔案結束, 完成整個 AutoPatch 的動作 這樣一來, FTP Server 端必須有一支程式, 分析 FTP 內資料夾所有檔案的名稱以及檔案大小, 並再每次版本有變動之時, 做一次分析, 以便造出 Patch 文字檔 這樣的方式有個好處 : 1. 使用者不必重新下載 Install.exe 執行檔 (因為有可能你只更動一張 .bmp 圖片或是 .dll 函式庫) 對於大型的軟體, 是不適合讓使用者每次都下載幾十或是幾百 MB 的安裝檔 2. 只要有新版本或新檔案需要更新, 軟體商只要將新檔案放入 FTP 內, 相當方便 當然也有缺點 : 1. 新的檔案大小與舊檔案大小相同, 則會發生錯誤, 這點必須注意 也有更好的方法, 所謂的 CRC Check, 這樣可以防止檔案大小相同而 Patch 佈到的問題.. 有關 CRC Check, 若有興趣我再 Po 上 Y.S.C.
現任:Programmer 深度論壇 BCB Internet 版主
http://www.chatking.net 聊天王 語音聊天社群 創辦人
感謝您的回覆,事實上我對 CRC-Check 的方式是有興趣, 假如可行的話,是否能將此部分 Post 出來,以饕同好!謝謝!
cuteysc
初階會員


發表:16
回覆:37
積分:35
註冊:2003-05-28

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-06 18:44:37 IP:61.216.xxx.xxx 未訂閱
引言: 感謝您的回覆,事實上我對 CRC-Check 的方式是有興趣, 假如可行的話,是否能將此部分 Post 出來,以饕同好!謝謝!
檔案 CRC Check 的方式 : 首先決定要將檔案做幾個位元組的分析 (假設為 1024Bytes) 通常我們會先將這 1024Bytes 的十六進位值加總 (也就是 Bytes[0] Bytes[1] Bytes[2] ......... 然後將這個加總的值除上 256 取餘數 (C 語言的語法為 CRC%6) 這樣求出這個檔案的 1024 Bytes 的 CRC 碼, 將會 0~255 的數字 若檔案有 1024000 Bytes 的話, 依此類推, 共會產生出 1000 個 CRC 碼 CRC 在做檔案 Check 的時候速度會非常快 .. 因為通常一筆 CRC 就是比對 1024Bytes 內的資料, 只要更動過, 就一定會不一樣 您也可以將整個分析的 Bytes 數量加大, 比如說一次將 4096 Bytes 相加除以256並取餘數 我自己網站所使用的 AutoPatch 軟體 http://www.goalsoft.net/p-autopatch.htm Y.S.C.
現任:Programmer 深度論壇 BCB Internet 版主
http://www.chatking.net 聊天王 語音聊天社群 創辦人 發表人 - cuteysc 於 2003/06/06 18:51:59
系統時間:2024-05-05 19:54:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!