簡體   English   中英

C ++自動更新到新版本

[英]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.exeApplication.exe替換為Application2.exe

現在更新完成,客戶端安裝了最新版本。

關於系統鎖定文件等,此解決方案是否可行?

好消息是,您可以重命名在Windows上打開的文件(可執行文件和DLL)。 鎖可以防止您刪除文件,而不是重命名文件。

  1. 重命名當前正在運行的程序Application_old.exe 而它的運行
  2. 將下載的程序寫入Application.exe
  3. 運行新的Application.exe
  4. 關閉舊的。
  5. 使用新執行的程序刪除舊版本。

這樣,您將在更新后自動重啟。 我自己一直這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM