Как определить изнутри Java, какая платформа .NET установлена - PullRequest
3 голосов
/ 26 сентября 2008

В моей программе на Java я хочу определить, какой .NET Framework установлен в системе. Каков наилучший (и самый простой) способ сделать это?

Ответ Спасибо, scubabbl! Он работал, чтобы проверить каталог System.getenv( "WINDIR" ) + "\\Microsoft.NET\\Framework" на наличие каталогов, начинающихся с буквы "v".

Ответы [ 2 ]

5 голосов
/ 26 сентября 2008

Насколько я понимаю, фактическая файловая структура в c: \ windows \ Microsoft.Net \ Framework имеет папки с установленными версиями .Net. На моем компьютере есть папки до версии 3.5 или C: \ Windows \ Microsoft.Net \ Framework \ v3.5

.

С этим связано множество проблем, включая проблемы безопасности.

Второй и, возможно, лучший ответ - проверка реестра Windows.

HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ NET Framework Setup \ NDP

Ключ версии будет иметь значение, которое вы ищете.

Редактировать: вопрос stackoverflow относительно чтения реестра с Java. чтение и запись в реестр Windows с использованием Java

Эта библиотека http://www.trustice.com/java/jnireg/ позволит вам читать реестр.

0 голосов
/ 17 октября 2008

Проверка структуры каталогов - не лучший способ сделать это. Взгляните на этот поток для получения полной информации о ключах реестра, которые необходимо оценить.

...