4

我知道我们可以从用户代理字符串中检测到主要版本和 SP 版本。

但是,我也需要区分修订版,即

2.0 RTM (x86)   2.0.50727.42  
2.0 RTM (Vista) 2.0.50727.312  
2.0 (KB928365)  2.0.50727.832  

与我不同,它们在用户代理中得到如下报告:Mozilla/5.0(兼容;MSIE 7.0;Windows NT 6.0;WOW64;SLCC1;.NET CLR 2.0.50727;Media Center PC 5.0;.NET CLR 3.0。 04506;.NET CLR 3.5.30707;InfoPath.1;el-GR)

http://en.wikipedia.org/wiki/List_of_.NET_Framework_versions

任何方法都是可以接受的(Silverlight、Flash、Java 等),只要它不需要用户交互

更新:差不多了... 签名的 .NET ActiveX 在中等安全级别(即在 Intranet 中)工作,在 Internet 设置中不起作用。

在 IE 中托管 Windows 窗体似乎工作方式相同。如果我能找到如何指定我不需要高度信任来工作......

4

2 回答 2

0

在 .NET 中创建浏览器小程序很简单。可能会有一些安全设置,但既然你说任何方法都是可以接受的,这应该也可以。从那里您可以在浏览器中嵌入一个完全正常工作的 .NET 应用程序。只需像往常一样检测版本即可。

补充:我认为您也可以以某种方式指定您不需要完全信任,这将缓解安全问题。

于 2011-01-28T20:42:37.123 回答
0

我相信确定补丁级别的唯一两种方法是检查文件版本本身或读取注册表项。

无论哪种方式,从我有限的研究(2 分钟)来看,这听起来很难做到。不过,您也许可以编写一个 ActiveX 控件来执行此操作。

于 2011-01-28T20:18:45.617 回答