安裝程式的另一種選擇 - 軟體前導程式 v1.0 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
本軟體很像安裝程式(其實可以取代), 但是一般安裝程式無法作程式的更新(就算有也需要人工執行安裝/反安裝);
軟體前導程式安裝完成後有二個檔:
Loader.exe 軟體前導程式
UPGRADE.INI 軟體前導程式參考檔案(詳見內容)
Loader 可以依 UPGRADE.INI 內容作程式的更新, 完成後自動執行指定的程式(可設執行參數)
目前只有支援 .ZIP 格式, 並會自動產生指定的安裝目錄.
如果您程式一次要更新很多台電腦時, 會非常的方便.
如有任何問題, 歡迎各位指教.
------
將問題盡快結案也是一種禮貌! |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
長官,小弟不是來踢館的
只是長官說
"如有任何問題, 歡迎各位指教"
所以小弟才斗膽來...
言歸正傳
其實看了範例,應該用 "批次檔" 也可達成類似的功能
1.建立一個名叫 Loader.bat 的批次檔
2.因為批次檔不能解壓,所以固定放一個 ARJ32.EXE (DOS 或命令列模式的解壓工具)跟 Loader.bat 放在同一目錄
3.批次檔有個命令叫 exist 可判斷某一檔案存在否
4.依照長官的範例來寫這個批次檔內容如下: ■ Loader.bat 內容
cls
echo XXXX公司
IF EXIST AP.arj GOTO UPDATE (若有更新檔,先做更新再跳到執行命令的區塊)
GOTO END (直接跳到執行命令的區塊) :UPDATE
Arj32 x -y AP.arj \AP\BIN\
Arj32 x -y DATA.arj \AP\DATA\
Arj32 x -y PICT.arj \AP\PICT
Arj32 x -y IMAGES.arj \AP\IMAGES
Arj32 x -y REPAIR.arj \AP\BIN
Arj32 x -y TOOLS.arj %SYSTEM%\
Arj32 x -y SYSTEM.arj %SYSTEM%\
echo.
echo 更版程序執行完畢... AP 程式更版完成 !!
echo.
pause (按任意鍵繼續....) :END
cls
echo AP 程式啟動中....
\AP\AP.EXE ==================================================
會使用批次檔只是因為它直覺,方便,有錯誤直接修改流程
批次檔甚至還可建立 Win2000 啟動捷徑
其它應用請參考
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=24236 發表人 - bruce0211 於 2003/01/02 22:52:20
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 長官,小弟不是來踢館的 只是長官說 "如有任何問題, 歡迎各位指教" 所以小弟才斗膽來... 言歸正傳 其實看了範例,應該用 "批次檔" 也可達成類似的功能 1.建立一個名叫 Loader.bat 的批次檔 2.因為批次檔不能解壓,所以固定放一個 ARJ32.EXE (DOS 或命令列模式的解壓工具)跟 Loader.bat 放在同一目錄 3.批次檔有個命令叫 exist 可判斷某一檔案存在否 4.依照長官的範例來寫這個批次檔內容如下: ■ Loader.bat 內容 cls echo XXXX公司 IF EXIST AP.arj GOTO UPDATE (若有更新檔,先做更新再跳到執行命令的區塊) GOTO END (直接跳到執行命令的區塊) :UPDATE Arj32 x -y AP.arj \AP\BIN\ Arj32 x -y DATA.arj \AP\DATA\ Arj32 x -y PICT.arj \AP\PICT Arj32 x -y IMAGES.arj \AP\IMAGES Arj32 x -y REPAIR.arj \AP\BIN Arj32 x -y TOOLS.arj %SYSTEM%\ Arj32 x -y SYSTEM.arj %SYSTEM%\ echo. echo 更版程序執行完畢... AP 程式更版完成 !! echo. pause (按任意鍵繼續....) :END cls echo AP 程式啟動中.... \AP\AP.EXE ================================================== 會使用批次檔只是因為它直覺,方便,有錯誤直接修改流程 批次檔甚至還可建立 Win2000 啟動捷徑 其它應用請參考bruce0211 兄: 不要叫我長官啦! 您說使用 .Bat 是可以沒錯(我以前也是用這方式), 不過 .Bat 只能 overwrite 方式更新檔案, 而且 .Bat 必須另外執行, 無法作到執行完 .Bat 再執行您的 AP, Windows 的 .Bat 會多工同時執行 .Bat 及您的 AP(如果不是像您寫的 Loader.bat 是在同一 .Bat). Loader.exe 會依日期判斷是否更新檔案(如果有頻寬考慮的話), 更新完後才會執行您的 AP, 基本上是類似 DOS BATCH FILE. 其實我還想將 Registry or IniFile 資訊也一起更新, 以及做 Internet 上抓檔更新. 不過因為此程式只是一個構想其實還不完全, 所以可能會有很多疏失, 謝謝您的指教.
------
將問題盡快結案也是一種禮貌! |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
Danny 兄 以上有句話不太明瞭->...無法作到執行完 .Bat 再執行您的 AP.... 以之前的例子而言
我在 Win2000 啟動區就只有放這個 Loader.bat , 沒別的程式
但這個 Loader.bat 在執行中不管有沒有發現更新組件
其最終的目的就是執行 Loader.bat 的最後一行
\AP\AP.EXE
我有實際在客戶中使用
它若有發現更新組件
一定會先執行更新組件在去 call AP.EXE
所以不明瞭你說"無法作到執行完 .Bat 再執行您的 AP...."
是啥意思 ??
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: Danny 兄 以上有句話不太明瞭->...無法作到執行完 .Bat 再執行您的 AP.... 以之前的例子而言 我在 Win2000 啟動區就只有放這個 Loader.bat , 沒別的程式 但這個 Loader.bat 在執行中不管有沒有發現更新組件 其最終的目的就是執行 Loader.bat 的最後一行 \AP\AP.EXE 我有實際在客戶中使用 它若有發現更新組件 一定會先執行更新組件在去 call AP.EXE 所以不明瞭你說"無法作到執行完 .Bat 再執行您的 AP...." 是啥意思 ??bruce0211 兄: 我的意思和您一樣啊! 我前面有說 (如果不是像您寫的 Loader.bat 是在同一 .Bat). 可能我的文法有點怪 ... 抱歉 ! 不過我寫這隻程式的用意是想增加 .bat 作不到的功能, 想法很簡單啦 !
------
將問題盡快結案也是一種禮貌! |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
了解...
只是小弟想說應該沒有人會在一個流程中
使用兩個(含)以上的批次檔,
真要使用批次檔做 Loader 的話
應該都會像我一樣的寫法....(全部程序寫在同一批次檔內)
對了,站長大人的 Delphi 線上聊天室執行檔封面
就是一個可自動更新的 Loader 程式
可跟他請教 NMHTTP 元件的用法喔 ^_^ ====================================
批次檔小技巧:
若 A.BAT 中需要去執行 B.BAT , 此時控制權就到 B.BAT 中
一直到 B.BAT 做完都不會回到 A.BAT
如果在當初 A.BAT 要執行 B.BAT 時前面加個 "CALL"
也就是 CALL B.BAT
則當 B.BAT 做完後 , 會回到 A.BAT 繼續後面未完成的程序
直到 A.BAT 結束 .... 發表人 - bruce0211 於 2003/01/07 22:24:37
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |