2010-03-03 92 views
1

我正在开发包含多个(〜100)用户的XBAP(部分信任)应用程序。检测框架版本3.5

在下一个版本中,先决条件已经从框架3.0碰撞到框架3.5,我们需要一种简单的方法来检测每个客户机的框架版本,并告知他们是否需要升级。

有关如何做到这一点的任何想法或建议?

回答

1

这将取决于你何时何地将要分发。如果他们要下载应用程序,您可以使用this route来设置一个ASP.NET页面来警告它们,甚至在它们安装之前阻止下载。

否则,您需要查看用户机器上的注册表以确定它们是否具有正确的版本。还有另外一个问题,SO覆盖这个“How to detect what .NET Framework Version is Installed?

+0

值得一提的是挂不保证能够在比IE等浏览器的工作方法。 – 2010-03-03 20:57:25

+0

我们将从MSDN开始执行javascript/useragent,因为我们无法从部分信任的xbap访问注册表,也不希望分发其他应用程序来执行检查。 我们只接受来自不在IE上的(可能是_very_少数)用户的支持呼叫。 – hhravn 2010-03-04 08:16:14

0

你有没有考虑Environment.Version

int buildVersion = Environment.Version.Build; 
    int majorVersion = Environment.Version.Major; 
    int minorVerdion = Environment.Version.Minor; 
+0

+1好一个!它是如此容易! – AxelEckenberger 2010-03-03 22:52:29

+1

这不会工作,因为它会返回CLR的版本。由于CLR在框架2.0,3.0和3.5之间没有变化,所以报告的版本是2.0,编译为50727。 – hhravn 2010-03-04 07:19:03