如何在.NET中通过网络更新应用程序?
时间:2020-03-06 14:52:33 来源:igfitidea点击:
我需要在多台PC上安装一些.NET软件。
该软件需要在每次重新启动时进行检查,以查看服务器上是否存在较新的版本。
最终用户将具有基本的用户权限,因此无法将文件复制到" Program Files"目录中。
如果存在较新的版本,则应用程序关闭,更新程序从服务器复制文件,然后重新启动应用程序。
但是,我想构建我的更新程序,使其与应用程序无关。 IE。我会向更新程序发送一个ID,以告诉它要更新哪个应用程序。
然后,我想让它在文件服务器名称更改的情况下仍能正常工作。
我想我可以使用具有管理员权限的服务来复制文件。
- 是否已经有一个班级做了这种事情?
- 当我考虑使用已安装的服务时,我是否走在正确的轨道上?
解决方案
Application Updater Block对我有用。
.NET Framework具有称为clickonce的内置功能,该功能恰好可以实现我们想要的功能。
查看ClickOnce部署。它涵盖了我们所要求的一切。它不会按ID来更新应用程序,但可以确保每个应用程序都是最新的,而不必为每个应用程序编写任何更新代码。它不会自动处理文件服务器名称更改,但是我们可以根据需要指向链接。
1)取决于我们使用的.NET版本。 > = 2.0我们可以部署智能应用程序,这些应用程序可以检查网络路径以获取更新的版本,然后将在必要时进行更新。
2)如果我们停留在1.1(就像我一样:-(),则在登录时运行的服务或者计划任务都可以正常工作,这就是我们在这里所做的。我们保留一些数据库表来跟踪谁拥有最新版本。
-伊恩