簡體   English   中英

c#shadowcopy示例

[英]c# shadowcopy example

我需要更新我的可執行文件也與dll鏈接..

我已經閱讀了有關AppDomainSetup.ShadowCopyFiles但我在嘗試正確的步驟來做我需要的東西時遇到了麻煩

問題是:

  • 我只有在通知更新或每次啟動可執行文件時才需要創建的卷影副本?
  • 復制和更新dll和.exe的正確步驟是什么?

創建卷影副本不會更新您的應用程序。 自動更新的一般順序需要第三個管理該過程的應用程序。 它看起來像這樣。

  1. 主應用程序查找更新並將更新文件下載到臨時位置
  2. 主應用程序啟動更新程序應用程序並終止自身
  3. Updater應用程序通過主應用程序文件復制更新文件
  4. Updater應用程序啟動主應用程序並終止自身

顯然,內置錯誤處理邏輯。 但這是一般的想法。 影子副本無處可去。

利用.NET的卷影復制功能並不是一個壞主意。 它允許您更新程序集而無需退出應用程序但是您需要重新啟動應用程序才能運行更新的版本。 卷影副本只允許您覆蓋程序集而不會覆蓋任何其他內容。

請注意,您無法在默認AppDomain上啟用卷影副本。 這意味着您將需要一個將創建AppDomain的加載器,並執行您的應用程序。 請查看此答案 ,了解您需要采取的步驟以及簡單的實施步驟。

如果你想要做的就是允許安裝更新而不必退出應用程序,那么這是我能想到的最簡單的方法。

您還應該了解Microsoft的ClickOnce技術。 它解決了部署和更新.NET GUI應用程序的許多常見問題。

暫無
暫無

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

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