我知道我们可以从用户代理字符串中检测主要版本和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 (compatible; 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 Forms似乎以相同的方式工作。如果我能找到如何指定不需要高信任来工作的方法就好了...