【问题标题】:How to check the version compatibility of an exe?如何检查exe的版本兼容性?
【发布时间】:2011-07-21 21:56:41
【问题描述】:

如何比较服务器中的应用程序和客户端机器上安装的应用程序的版本?

【问题讨论】:

标签: c# windows web-services visual-studio-2008 webserver


【解决方案1】:

有很多方法。

  1. 服务器可以有一个公共 WCF 服务,它返回服务器上应用程序的版本。它可以从服务器上的 exe 文件中获取它(使用反射),或者只是解析一些服务器 xml 文件 - 可以由部署负责人更新。您可以在需要时在客户端应用中使用该服务。

  2. ClickOnce 部署使您无需考虑版本控制。您可以配置这样的部署,如果服务器上有新版本(将自动下载),应用程序将不会启动。

其他是连接到服务器方法和部署配置的变体。选择最适合您的。

不要忘记将其标记为正确,以防它适合您。

【讨论】:

  • 感谢 LexRema 的回答。它真的帮助了我..你能发布其他方法吗?
  • 例如,您可以将该 xml 放在某个公共服务器上,然后在 clent 上下载并解析它(这有点难看)。使用不是 WCF 而是使用 Webmethods 也会有所帮助。
  • 我已在网络服务器中放置了一个 exe。这样我就可以将其下载到本地系统并运行该exe。如果我在该 exe 中更改了几乎没有增强的版本并放置在服务器中,那么每当我尝试运行 exe 时,它​​应该要求在服务器中下载更新的版本。我没有使用 Clickonce 部署..
  • 是的,但单击一次正是您所需要的。这将是最简单的一个。或者真的,首先检查服务器上的版本。
  • 是的,感谢您的 cmets LexRema。我使用 ClickOnce 部署进行了验证。它真的做到了我需要的。它的美妙。非常感谢。
【解决方案2】:

我认为您必须检查两台机器上运行的程序集信息。通过使用反射你可以做到。

http://bytes.com/topic/c-sharp/answers/262228-how-check-assemblys-version

或者在每台机器上试试这个。

使用 System.Reflection;

Assembly.GetExecutingAssembly().GetName().Version。 ToString()

【讨论】:

    猜你喜欢
    • 2020-10-16
    • 2022-01-20
    • 2013-10-07
    • 2020-04-23
    • 1970-01-01
    • 2021-07-26
    • 2019-08-27
    • 2021-12-12
    相关资源
    最近更新 更多