【发布时间】:2008-09-26 09:16:09
【问题描述】:
从我的 Java 程序中,我想确定系统上安装了哪个 .NET Framework。最好(也是最简单)的方法是什么?
回答谢谢scubabbl!它可以检查目录System.getenv( "WINDIR" ) + "\\Microsoft.NET\\Framework" 中以字母“v”开头的目录。
【问题讨论】:
从我的 Java 程序中,我想确定系统上安装了哪个 .NET Framework。最好(也是最简单)的方法是什么?
回答谢谢scubabbl!它可以检查目录System.getenv( "WINDIR" ) + "\\Microsoft.NET\\Framework" 中以字母“v”开头的目录。
【问题讨论】:
据我了解,c:\windows\Microsoft.Net\Framework 中的实际文件结构包含安装了 .Net 版本的文件夹。在我的电脑上,我有最高 v3.5 的文件夹,或者 c:\windows\Microsoft.Net\Framework\v3.5.
这有很多问题,包括安全问题。
第二个可能更好的答案是检查 Windows 注册表。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
版本键将具有您正在寻找的值。
编辑:关于使用 java 读取注册表的 stackoverflow 问题。 read/write to Windows Registry using Java
这个库http://www.trustice.com/java/jnireg/ 将允许您读取注册表。
【讨论】:
检查目录结构并不是最好的方法。请查看此thread,了解有关您需要评估的注册表项的完整详细信息。
【讨论】: