自动更新

Pet*_*erg 6 c# asp.net wpf

我有一个系统,有两个Web应用程序,一个Web服务,一个Windows服务和一个24小时在触摸屏上运行的WPF应用程序.所有这些都连接到数据库.

我希望能够通过将升级文件上载到数据库来升级所有这些应用程序,并设置升级发生的日期和时间.

我对如何做到这一点有一个想法.

  1. 应用程序运行一个线程以查找可用的升级.
  2. 找到升级后,文件将下载到应用程序的计算机.
  3. 下载完成后,应用程序将触发重新启动.
  4. 应用程序启动时,它会在本地计算机上查找升级文件.
  5. 如果可以升级,则应用程序会自行升级.

我不确定应该如何完成所有这些步骤,尤其是最后一步.但是我想对此有一些评论.这完全错了吗?我是在正确的轨道上吗?有关如何以此方式或以其他方式进行此操作的任何提示?

Tom*_*Tom 2

我认为你在这里走的是正确的路线。轮询应用程序检查数据库是否存在新更新,然后使用 xcopy 部署脚本来完成此操作。

这也可以通过 PowerShell 脚本实现,该脚本按计划运行,例如每 10 分钟运行一次。它可以检查数据库,关闭进程和服务,复制应用程序(从共享源)并重新启动所述服务和应用程序。

所有这些都假设您最初不使用 Windows Installer 来打包和部署应用程序。尽管直接替换二进制文件的 xcopy 不会损害 MSI 包,但不建议这样做。我们在工作中使用 AD MSI 部署,即使在最好的情况下这也是一种痛苦!

MSDN 包含 WPF 应用程序的 MSI 与 XCopy 部署的参考(以及安全要求)。

这是我找到的第一个从 PowerShell 查询 SQL 的链接:http://elegantcode.com/2008/03/27/discovering-windows-powershell/

祝你好运!