我知道,我能有Updater.exe & MainProgram.exe但我想保持我釋放一個EXE文件。c#應用程序更新程序從內存運行?
我可以從內存中運行updater.exe(updater.exe將包含在mainprogram.exe中),然後關閉mainprogram.exe並讓更新程序在新線程中工作(它將更新mainprogram.exe)?可能嗎?
或者有沒有其他的解決方案,我可以只保留一個單獨發佈的EXE文件?
我知道,我能有Updater.exe & MainProgram.exe但我想保持我釋放一個EXE文件。c#應用程序更新程序從內存運行?
我可以從內存中運行updater.exe(updater.exe將包含在mainprogram.exe中),然後關閉mainprogram.exe並讓更新程序在新線程中工作(它將更新mainprogram.exe)?可能嗎?
或者有沒有其他的解決方案,我可以只保留一個單獨發佈的EXE文件?
附上updater.exe爲您的應用程序資源,然後將其保存到一個臨時文件並運行。
決不做這樣的東西,說實話,但可以分享一些想法上的主題:
CodeDome
在運行時編譯的程序集Updater.exe
並執行它(不喜歡這個)Updater.exe必須非常輕巧+它可以讓你在你決定改變更新了一下(對百萬個理由,你可以有),您只需重新編譯它,並把它的二進制到共享文件夾,而不會影響主機會建立。
我個人不喜歡合併更新與主設置。
希望這會有所幫助。
問候。
首先,失去與嵌入和更新記憶「前男友」多管閒事的想法。
試試這個: 從主應用程序檢查更新服務器是否有可用的程序的新版本。如果有,請下載新的exe文件,下載或創建一個簡單的批處理文件,刪除當前的exe文件並重命名新文件,然後分叉並執行批處理文件,然後退出。該批處理文件將稍等片刻,重命名該exe文件,也許啓動新文件並刪除它自己。
我已經看到了這解決了2種方式,但我相信有很多更
兩者都爲我們工作,但我從來沒有完全滿意#2,因爲它需要用戶按下一個鍵。也許你可以加入延遲。
+1爲第二個想法! – IDWMaster