如何在不重新安装的情况下更新winform应用程序

时间:2011-05-05 05:48:48

标签: c# winforms

我在C#中有一个用户登录窗口应用程序,它安装在许多系统中,现在我已经更改/更新了对应用程序的新修改。然后我必须卸载以前的并在所有系统中再次安装这个新的更新应用程序。

是否有任何方法可以对安装的先前应用程序执行更新,而无需卸载系统中的先前应用程序。用户手动或自动从服务器位置选择更新,安装的应用程序将检查更新并安装它

请帮助

2 个答案:

答案 0 :(得分:1)

有很多方法可以安排应用程序读取更新。大多数情况下,这是通过让它读取服务器上的小文件然后是否有更新的版本提供下载它来完成的。我曾经一次写过自己的。我检查了一个包含最新版本的文件的Web地址,并将其与用户运行的版本进行了比较。然后,我在关闭下载更新的更新程序应用程序后关闭了我的应用程序,应用了文件更改并重新启动了我的应用程序。现在我使用AppLife更新。这提供了检查更新,下载增量更新并应用它所需的所有工具。这是付费软件,但基本版本并不昂贵。

当然,您需要首先发布包含任何更新检查代码的版本。

答案 1 :(得分:1)

你有两个简单的解决方案:

  1. 在安装程序级别,您可以使用ClickOnce安装程序,它很干净,但它基本上会删除旧文件并安装新文件(如果它们更新)。

  2. 我个人更喜欢的另一种方法:在应用程序级别 - 将您的应用程序划分为不同的模块(插件样式),从而为每个活动 - 模块创建单独的dll。这样,当您在启动时加载软件时,您可以对ftp / svn / web服务/甚至html页面进行简单检查并验证dll的版本。 如果服务器上的文件较新,则在加载之前下载新文件。

  3. 希望这有帮助。