首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WinForms应用程序的自动更新

WinForms应用程序的自动更新
EN

Stack Overflow用户
提问于 2008-09-26 12:51:05
回答 4查看 52.5K关注 0票数 20

为.NET WinForms应用程序创建自动更新功能时,如何更新DLL而不影响当前正在运行的应用程序?

由于应用程序是在更新过程中运行的,因此不会对DLL进行锁定(因为这些DLL必须在更新过程中被覆盖)。

EN

回答 4

Stack Overflow用户

发布于 2008-09-26 12:52:36

通常,您会将新文件下载到单独的区域。然后关机并重新启动,然后在启动时查找并使用新文件(如果找到)。总是将最新的已知工作版本放在一边,以便用户可以在下载导致问题时恢复到肯定有效的版本。

ClickOnce是微软的一项优秀技术,它可以为您完成此任务,您可以直接在Visual Studio2008中使用它。

票数 17
EN

Stack Overflow用户

发布于 2010-08-25 06:49:25

你必须关闭你的应用程序并重新启动它,因为其他人已经评论过了。

我写了一个开源代码来在透明模式下做到这一点-包括一个外部更新应用程序来执行实际的冷更新。请参阅http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

代码位于http://github.com/synhershko/NAppUpdate (在Apache2.0许可下获得许可)

票数 7
EN

Stack Overflow用户

发布于 2008-09-26 12:57:51

我有一个独立的“启动器”应用程序,通过web服务检查更新。如果有更新,它会下载它们,然后执行我的应用程序,该应用程序位于一个单独的程序集中。

其他的选择是使用ClickOnce之类的东西,或者像其他人提到的那样,将文件下载到单独的区域并重新启动应用程序。

不过,要注意ClickOnce -它并不像听起来那么灵活。如果你部署到一个需要将你的程序提升到更高的安全级别才能运行的系统,如果你没有为你的应用程序安装证书,你可能会遇到问题。当涉及到ClickOnce时,我发现很难在互联网上获得证书管理等问题的直接答案。如果你有一个复杂的应用程序,你可能只想滚动你自己的更新程序,这就是我最终不得不做的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/139266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档