В моей программе на 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
Ключ версии будет иметь искомое значение.
Обновлено: вопрос stackoverflow относительно чтения реестра с помощью java. чтение / запись в реестр Windows с использованием Java
Эта библиотека http://www.trustice.com/java/jnireg/ позволит вам читать реестр.
О да. Я не думал об этом. Хороший улов.
Проверка структуры каталогов - не лучший способ сделать это. Взгляните на этот нить, чтобы получить полную информацию о ключах реестра, которые вам необходимо оценить.
Спасибо! Проверка этого каталога должна помочь мне, поскольку я знаю, что у меня есть доступ для чтения. еще одна дополнительная настройка - использовать System.getenv ("WINDIR") в случае, если кто-то установил Windows в D: или в другом экзотическом месте.