繁体   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