Возможно, стоит отметить, что это также может произойти, когда Windows блокирует загрузки, которые он считает небезопасными. Это можно устранить, щелкнув правой кнопкой мыши файл jar (например, ojdbc7.jar) и проверив поле «Unblock» внизу.
Диалоговое окно свойств файла JAR для Windows: [/g0]
Использование Добавляет/Удаляет программы от Панели управления.
Взгляд HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\
. Один из них должен быть верным:
Version
значение в том ключе должно быть 3.5.30729.01 SP
, значение в том же ключе должно быть 1 В C# (взятый из первого комментария), Вы могли сделать что-то вдоль этих строк:
const string name = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5";
RegistryKey subKey = Registry.LocalMachine.OpenSubKey(name);
var version = subKey.GetValue("Version").ToString();
var servicePack = subKey.GetValue("SP").ToString();
Вы могли перейти в SmallestDotNet с помощью IE с сервера. Это скажет Вам версию и также обеспечит ссылку на загрузку, если Вы устареете.
Предполагая, что именем является везде "Microsoft.NET Framework 3.5 SP1", можно использовать это:
string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
{
return rk.GetSubKeyNames().Contains("Microsoft .NET Framework 3.5 SP1");
}
Смотрите на этот статья , которая показывает ключи реестра, которые Вы должны искать и обеспечиваете библиотеку.NET, которая сделает это для Вас.
Первый, Вы должны, чтобы определить, установлена ли.NET 3.5 путем рассмотрения Платформы HKLM\Software\Microsoft\NET Setup\NDP\v3.5\Install, который является значением DWORD. Если то значение присутствует и набор к 1, то та версия Платформы установлена.
Взгляд на Платформу HKLM\Software\Microsoft\NET Setup\NDP\v3.5\SP, который является значением DWORD, которое указывает на уровень Пакета обновления (где 0 не пакет обновления).
, Чтобы быть корректными о вещах, действительно необходимо удостовериться, что.NET Fx 2.0 и.NET Fx 3.0 установлены сначала и затем проверяют, чтобы видеть, установлена ли.NET 3.5. Если все три верны, то можно проверить на уровень пакета обновления.
Проверьте, существует ли следующий каталог:
На 64-битных машинах: % SYSTEMROOT% \ Microsoft.NET \ Framework64 \ v3.5 \ Microsoft .NET Framework 3.5 SP1 \
На 32-битных машинах: % SYSTEMROOT% \ Microsoft.NET \ Framework \ v3.5 \ Microsoft .NET Framework 3.5 SP1 \
Где% SYSTEMROOT% - это Переменная среды SYSTEMROOT (например, C: \ Windows).
Я попал на эту страницу, пытаясь понять, как определить версии фреймворка, установленные на сервере без доступа к удаленному рабочему столу или реестру, поэтому ответ Danny V сработал для меня.
string path = System.Environment.SystemDirectory;
path = path.Substring( 0, path.LastIndexOf('\\') );
path = Path.Combine( path, "Microsoft.NET" );
// C:\WINDOWS\Microsoft.NET\
string[] versions = new string[]{
"Framework\\v1.0.3705",
"Framework64\\v1.0.3705",
"Framework\\v1.1.4322",
"Framework64\\v1.1.4322",
"Framework\\v2.0.50727",
"Framework64\\v2.0.50727",
"Framework\\v3.0",
"Framework64\\v3.0",
"Framework\\v3.5",
"Framework64\\v3.5",
"Framework\\v3.5\\Microsoft .NET Framework 3.5 SP1",
"Framework64\\v3.5\\Microsoft .NET Framework 3.5 SP1",
"Framework\\v4.0",
"Framework64\\v4.0"
};
foreach( string version in versions )
{
string versionPath = Path.Combine( path, version );
DirectoryInfo dir = new DirectoryInfo( versionPath );
if( dir.Exists )
{
Response.Output.Write( "{0}<br/>", version );
}
}