4

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

该软件每次重新启动时都需要检查服务器上是否存在更新的版本。

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

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

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

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

我想我可以使用具有管理员权限的服务来复制文件。

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

4 回答 4

7

.NET Framework 有一个名为clickonce的内置功能,它可以完全满足您的需求。

于 2008-09-29T14:16:21.440 回答
2

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

于 2008-09-29T14:18:55.477 回答
1

应用程序更新程序块对我有用。

于 2008-09-29T14:15:27.823 回答
0

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

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

-伊恩

于 2008-09-29T14:20:22.430 回答