2008-09-26 44 views
3

从我的Java程序中,我想确定在系统上安装了哪个.NET Framework。什么是最好(也是最简单)的方法来做到这一点?如何从Java内部确定安装了哪个.NET框架

答案谢谢scubabbl!它试图检查目录System.getenv("WINDIR") + "\\Microsoft.NET\\Framework"的目录,以字母“v”开头。

回答

5

据我所知,c:\ windows \ Microsoft.Net \ Framework中的实际文件结构有安装了.Net版本的文件夹。在我的电脑上,我的文件夹最高为v3.5或 c:\ windows \ Microsoft.Net \ Framework \ v3.5。

这有很多问题,包括安全问题。

第二个,也许更好的答案是检查Windows注册表。

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ NET Framework安装\ NDP

版本关键还得你正在寻找的价值。

编辑:stackoverflow有关用java读取注册表的问题。 read/write to Windows Registry using Java

此库http://www.trustice.com/java/jnireg/将允许您阅读注册表。

+0

谢谢!检查该目录应该对我有用,因为我知道我有读权限。一个额外的调整是使用System.getenv(“WINDIR”),以防有人在D中安装Windows:或者某处是异国情调。 – Epaga 2008-09-26 09:55:35

0

检查目录结构不是最好的方法。请查看此thread以获取需要评估的注册表项的完整详细信息。