[英]C++ automatically update to new version
我一直在尋找一個好的解決方案3天,但到目前為止我還沒有找到任何解決方案。 我的情況是:
客戶端已安裝應用程序(C ++,控制台應用程序)。 啟動時的應用程序將檢查它與服務器的版本號並返回,或者它是最新的還是應該下載新版本。
如果必須下載新版本,我想用Curl下載新腳本,名稱為: Application2.exe
但是,我希望它替換觸發新版本下載的舊Application.exe 。
我的解決方案是: Application.exe下載Application2.exe 。 下載后,它應該觸發Updater.exe ,它會讓我們說5秒鍾。 在這5秒內(或任何最佳套房的時間跨度)。 在這5秒內, Application.exe有時間關閉,5秒后Updater.exe將Application.exe替換為Application2.exe 。
現在更新完成,客戶端安裝了最新版本。
關於系統鎖定文件等,此解決方案是否可行?
好消息是,您可以重命名在Windows上打開的文件(可執行文件和DLL)。 鎖可以防止您刪除文件,而不是重命名文件。
Application_old.exe
而它的運行 Application.exe
Application.exe
這樣,您將在更新后自動重啟。 我自己一直這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.