2013-03-22 27 views
0

我需要也與該DLL來更新我的可執行..C#影拷貝例如

我讀過有關的AppDomainSetup.ShadowCopyFiles,但我有麻煩試圖正確的步驟做什麼,我需要

的問題是:

  • 影子副本我需要創建只有當我通知更新或每次啓動我的可執行文件?
  • 什麼是複製和更新dll和.exe的正確步驟?

回答

1

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

  1. 主要應用程序找到更新和下載更新文件到臨時位置
  2. 主要應用程序啓動升級程序,並終止自身在主應用程序文件
  3. 更新應用程序副本更新文件
  4. 更新應用程序啓動主應用程序和終止本身

很明顯,將會有內置的錯誤處理邏輯。但這是總體思路。影子副本不在那裏。

0

使用.NET的陰影副本功能並不是一個壞主意。它將允許您更新程序集而無需退出應用程序,但是您需要重新啓動應用程序才能運行更新的版本。影子複製只會讓你覆蓋組件,而不是其他東西。

請注意,您不能在默認AppDomain上啓用卷影副本。這意味着你將需要一個裝載器來創建AppDomain,並執行你的應用程序。看看這answer你需要採取的步驟,併爲一個簡單的實施。

如果您只想允許安裝更新而無需退出應用程序,那麼這是我能想到的最簡單的方法。

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