![](/img/trans.png)
[英]How run C# code in sequence and show some data in view while still program is running
[英]c# on windows updating a program while it's still running
我在自助服務終端上有一個程序,具有相關服務,該服務通過定期在Web上檢查MSI的較新版本來更新程序。 如果找到一個,它將安裝它,程序可能仍在運行。
為了解決上述解決方案的DLL沖突,我按版本將MSI中的程序集重命名,以便在舊版本運行時可以安裝新版本。 該應用程序將輪詢安裝目錄以獲取較新版本的程序集,如果在不使用它的情況下立即發現重新啟動,則該應用程序將對其進行輪詢。 有沒有更好的方法可以做到這一點?
請問ClickOnce會不是一個更好的選擇?
我以前做過這個故事。 它是這樣的:
UI以登錄的用戶身份運行。
該服務作為系統運行。 該服務檢查內容並將其下載到臨時目錄。 然后,它使用/ JM命令播發MSI。 現在,非特權用戶可以安裝該安裝程序。
該服務會向應用程序發送一條IPC消息,提示該安裝了。 該應用程序啟動安裝程序,並向其傳遞一個標志,指示重新啟動該應用程序。 該應用程序退出以釋放鎖定的文件。
在安裝程序的末尾,該標志使安裝程序重新啟動該應用程序。
還可以看看wuw4庫 。 它有助於創建很多這種解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.