如何在.NET中通过网络更新应用程序?

时间:2008-09-29 14:13:07

标签: .net vb.net service

我需要在几台PC上安装一些.NET软件。

该软件每次重启时都需要检查一下,看看服务器上是否有更新的版本。

最终用户将拥有基本用户权限,因此无法将文件复制到“Program Files”目录。

如果存在较新的版本,应用程序将关闭,更新程序将从服务器复制该文件,然后重新启动该应用程序。

但是,我想构建我的更新程序,因此它将独立于应用程序。即我会向更新程序发送一个id,告诉它要更新哪个应用程序。

然后,如果文件服务器名称被更改,我想让它仍然有用。

我想我可以使用具有管理员权限的服务复制文件来完成所有这些工作。

  1. 是否有一个班级已经做过这种事了?
  2. 当我考虑使用已安装的服务时,我是否在正确的轨道上?

4 个答案:

答案 0 :(得分:7)

.NET Framework具有一个名为clickonce的内置功能,可以完全按照您的需要进行操作。

答案 1 :(得分:2)

查看ClickOnce部署。它涵盖了您要求的所有内容。它不会通过ID事件执行更新应用程序,但它确实确保每个应用程序都更新到日期,而无需为每个应用程序编写任何更新代码。并且它不会自动处理文件服务器名称更改,但您可以根据需要指向链接。

答案 2 :(得分:1)

Application Updater Block对我有用。

答案 3 :(得分:0)

1)取决于您正在使用的.NET版本。 > = 2.0您可以部署可以检查更新版本的网络路径的智能应用程序,然后在必要时进行更新。

2)如果你遇到了1.1(像我这样:-(),那么在登录时运行的服务或计划任务都可以正常工作,这就是我们在这里所做的。我们保留了一些跟踪的数据库表谁拥有最新版本的内容。

-Ian