1、下載新的程式放在patch資料夾裡
2、產生一支bat批次檔,內容如下
@echo off
ping localhost -n 10
copy patch\my.exe my.exe
my.exe
ping 的用意就是模擬暫停10秒
3、執行剛剛那個批次檔
4、馬上結束自己的程式
你要做更新用的哦?
你需要第二支程式來幫你做這個處理。
畢竟正在運行的程式,一般很難覆蓋掉。
正統的流程是做好另外一支更新用的程式。
主程式進入前先運行這支更新的程式。
確定沒有任何更新的話,再去運行主程式。
如果有更新,就先處理更新。
等更新完成後。才開始跑主程式。
還有一招就是大殼招。所有的主程式都是用一個大殼包起來。
主要運行的還是大殼。
而這個大殼平常只是負責呼叫應用程式跟更新程式。不做其它處理。
這樣就可以讓大殼很少有機會需要做更新。這樣就能統一處理。
視你的情況而定吧。有很多種做法的。
kuolung1967, 你好
若程式不複雜的話, 基本上用 微軟提供的 ClickOnce 即可達到你要的效果
ClickOnce 參考(http://aminggo.idv.tw/blog/?p=841)
此篇寫的很詳細也很不錯。
普遍做法,
Update.exe (檢查更新程式) | Main.exe (主程式)
啟動程式時, 通常都會透過 Update.exe 檢查版本號
版本 / 檔案(特徵)數量不一樣, 從伺服器抓下來做更新, 再重新檢查是否更新完成
若無須更新, 或更新完成執行 Main.exe
歡迎討論