Определите самую высокую версию.NET Framework
Мне нужно определить наивысшую версию.NET Framework, установленную на настольном компьютере, из кода C\C++. Похоже, я могу перебирать папки под %systemroot%\Microsoft.NET\Framework
, но это похоже на ошибку. Есть ли способ лучше? Возможно, ключ реестра, который я могу проверить? Благодарю.
4 ответа
Используйте расположение реестра Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
,
Ключи реестра для.NET Framework начинаются так:
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
В зависимости от версии, остальная часть ключа будет отличаться (проверьте эту страницу).
Вы можете посмотреть, как получить доступ к реестру в статье MSDN Использование реестра в приложении C++.
Если вы пытаетесь сделать это из управляемого кода, взгляните на эту статью, которая охватывает всю логику, необходимую для определения, установлена ли конкретная версия Framework.
В противном случае, посмотрите на пост в блоге Аарона, который дает метод C/C++ для того же.
Следующее должно дать вам ответ, но оно кажется ужасно нарушенным:(
c:\Program Files>clrver
Versions installed on the machine:
v2.0.50727