【问题标题】:Check to see if a user is running old code?检查用户是否在运行旧代码?
【发布时间】:2012-08-16 15:51:28
【问题描述】:

我们有一个为用户开发的内部应用程序。我们将所有代码存放在 unc 共享中。我们有一个加载应用程序,他们最初运行该应用程序以将所有适当的文件下载到他们的 PC 上,然后他们在本地运行所有内容。由于各种原因,我们在用户运行旧代码时遇到了问题。在某些情况下,他们的所有文件都是旧的,而在其他情况下,它可能只是一个文件。有什么好方法可以检查程序的所有关联文件,看看它们是否正在运行任何文件的旧版本?我们希望能够通知用户他们需要重新部署以获取最新更改。

【问题讨论】:

  • 你为什么不使用ClickOnce?这就是它的用途。
  • @Ramhound 为什么我需要发布我的代码?在大多数情况下,文件是旧的,因为用户只需要重新启动应用程序。它与我们的代码如何工作无关。在应用程序中,我只需要检测他们正在运行旧代码并通知他们需要关闭并重新打开以获取最新更改
  • @Oded 因为这是一个棕地应用程序,最初是用 .net 框架 1.0 编写的,并且我们的工作负载管理永远不会授权我们花时间重新设计它的部署方式。尤其是考虑到我们在加载器中执行的自定义操作的数量,并尝试将其改造成 clickonce。
  • 我发誓人们有时会很高兴。为什么这是一个糟糕的问题?

标签: .net deployment


【解决方案1】:

您可以考虑使用 ClickOnce 之类的东西来部署应用程序。

这实际上是在应用程序周围放置了一个包装器,该包装器被配置为回调服务器以查看是否存在较新版本的应用程序。如果是,则下载并替换客户端计算机上应用程序的现有版本。

这样的系统的好处是您不必对您的应用程序做任何事情。您只需通过 ClickOnce 部署它即可完成所有工作。

其他供应商提供的其他系统也遵循相同的原则。

【讨论】:

  • 感谢您的回复,不幸的是,Chris 无法更改我们的应用程序的部署方式。在这一点上,这将是一个很大的重写。你在说什么其他技术。
  • @user127954 - ClickOnce 不是重写。您只需选择它作为部署选项。我所说的其他技术是指其他部署系统 - 很抱歉造成混淆。
  • 是的,我确信对于大多数应用程序来说不是,但对于我们的应用程序来说,请放心。这不像将所有代码部署到一个目录然后运行那么简单。那很简单:P。我们将这个“部署应用程序”用于服务器(应用程序和 Web),我们使用的所有应用程序。然后,我们的应用程序散布在整个系统中的各种自定义位置,并且我们的应用程序产生了其他应用程序。在 99.9% 的应用程序中,您说的是真的,但不是我们的。好吗?不,但它就是这样,由于时间关系,我们不允许更改它。
  • 这样说,我们加载所有内容的方式有相当多的逻辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 2015-01-27
  • 2017-07-13
  • 2021-08-10
相关资源
最近更新 更多