Jak mogę się dowiedzieć, czy dodatek SP1 został zainstalowany na serwerze z .NET 3.5?Jak sprawdzić, czy jest zainstalowany dodatek .NET 3.5 SP1?
Odpowiedz
Użyj Dodaj/Usuń programy z Panelu sterowania.
Spójrz na HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\
. Jednym z nich muszą być spełnione:
- wartość w tym kluczu
Version
powinny być 3.5.30729.01 - lub wartości w tym samym kluczu
SP
powinny być
W języku C# (zaczerpnięte z pierwszego komentarza), możesz zrobić coś wzdłuż tych linii:
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();
nazwa ciągu stałego = @ "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(); –
Na moim komputerze "Wersja" to "3.5.30729.5420", a "SP" to "1" –
W wierszu poleceń: "zapytanie reg" HKLM \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.5 "/ V Version' 'zapytanie reg" HKLM \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.5 "/ V SP' –
Możesz przejść do SmallestDotNet używając IE z serwera. To powie ci wersję, a także zapewni link do pobierania, jeśli jesteś nieaktualny.
Mówi tylko o najwyższej wersji, np. jeśli masz 4, to nie powie ci, czy masz także 3.5 sp 1 – codeulike
Zakładając, że nazwa jest wszędzie „Microsoft .NET Framework 3.5 SP1”, można użyć to:
string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
{
return rk.GetSubKeyNames().Contains("Microsoft .NET Framework 3.5 SP1");
}
+1, najprostszy sposób, aby programowo sprawdzić, czy 3.5 SP1 jest zainstalowany - w rzeczywistości, jeśli zadziałał. Próbowałem, to nie działa dla mnie, zawsze zwraca false. –
Przeglądanie kolekcji zwróconej przez GetSubKeyNames(), nazwa zwykłego tekstu jest używana w przypadku niektórych produktów, dla niektórych - jak w przypadku frameworków .net, używane są identyfikatory produktu {1ea1f -...}. Dlatego nie można go znaleźć. –
Spójrz na tego article który pokazuje klucze rejestru trzeba szukać i dostarcza Biblioteka .NET, która zrobi to za Ciebie.
Najpierw należy ustalić, czy .NET 3.5 jest zainstalowany, patrząc na HKLM \ Software \ Microsoft \ NET Framework Setup \ NDP \ v3.5 \ Install, która jest wartością DWORD. Jeśli ta wartość jest obecna i ustawiona na 1, zainstalowana jest ta wersja programu Framework.
Spójrz na HKLM \ Software \ Microsoft \ NET Framework Setup \ NDP \ v3.5 \ SP, która jest wartością DWORD wskazującą poziom dodatku Service Pack (gdzie 0 to nie dodatek Service Pack).
Aby mieć rację, należy upewnić się, że .NET Fx 2.0 i .NET Fx 3.0 są najpierw zainstalowane, a następnie sprawdzić, czy jest zainstalowany .NET 3.5. Jeśli wszystkie trzy są prawdziwe, możesz sprawdzić poziom dodatku Service Pack.
łącze do artykułu zostało zmienione, tutaj jest nowa lokalizacja: http://www.codeproject.com/KB/dotnet/frameworkversiondetection.aspx – Drake
Sprawdź się następujący katalog istnieje:
W maszynach 64-bitowych: % SYSTEMROOT% \ Microsoft.NET \ Framework64 \ v3.5 \ Microsoft .NET Framework 3.5 SP1 \
w maszynach 32-bitowych: % SYSTEMROOT% \ Microsoft.NET \ Framework \ v3.5 \ Microsoft .NET Framework 3.5 SP1 \
Gdzie% SYSTEMROOT% jest zmienną środowiskową SYSTEMROOT (np. C: \ Windows).
Doszedłem do tej strony, próbując dowiedzieć się, jak wykryć wersje szkieletowe zainstalowane na serwerze bez dostępu do zdalnego pulpitu lub rejestru, więc odpowiedź Danny V była dla mnie odpowiednia.
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);
}
}
Pracowałem zgodnie z oczekiwaniami. Właśnie utworzyłem nowy projekt strony internetowej, dodałem kod i umieściłem go w udziale, a następnie poprosiłem o stronę. – XIII
- 1. Jak mogę sprawdzić, czy mam zainstalowany Visual Studio 2008 SP1?
- 2. Jak sprawdzić, czy dodatek SP1 jest zainstalowany w systemie Windows Server 2008 R2 Standard?
- 3. Jak sprawdzić, czy dodatek SP1 dla programu SQL Server 2008 R2 jest już zainstalowany?
- 4. Wymagania wstępne klienta .NET Framework 3.5 SP1
- 5. Zgodność z platformą .NET: 3.5 Profil klienta SP1 i 4.0
- 6. Czy można bezpiecznie zainstalować .Net 3.5 SP1 po .Net 4.0 RC?
- 7. Jak wyświetlić okno dialogowe uwierzytelniania w C# .Net 3.5 SP1
- 8. Jak sprawdzić, czy Suhosin jest zainstalowany?
- 9. Jak sprawdzić, czy moduł powershell jest zainstalowany?
- 10. Jak sprawdzić, czy asp.net 3.5 sp1 i asp.net mvc są zainstalowane na serwerze?
- 11. Jak sprawdzić, czy komponent VBA pakietu Office jest zainstalowany?
- 12. .net 3.5 SP1 Nie znaleziono Bootstrapera dla instalacji
- 13. Czy dodatek Service Pack jest wymagany dla środowiska wykonawczego C++, jeśli kompilator ma zainstalowany dodatek Service Pack?
- 14. Jak sprawdzić, czy plik node.js jest zainstalowany czy nie
- 15. Jak sprawdzić, czy zestaw .NET jest dynamiczny?
- 16. jak sprawdzić, czy jest zainstalowany mangusta (MongoDB) lub nie
- 17. Jak sprawdzić, czy jest zainstalowany program asp.net mvc 3?
- 18. Jak sprawdzić, czy cocoaPods jest zainstalowany w moim mac
- 19. Jak mogę sprawdzić, czy dany pakiet jest już zainstalowany?
- 20. Jak zachować zachowanie .Net 4.0, jeśli .Net 4.5 jest zainstalowany?
- 21. Jak sprawdzić, czy dll COM jest zarejestrowany w C#
- 22. Dokładnie jak duża jest biblioteka klasy .NET (3.5)?
- 23. Czy Entity Framework 6 obsługuje .Net 3.5?
- 24. Jak zawodzić z wdziękiem, jeśli .NET nie jest zainstalowany?
- 25. Pula aplikacji w IIS 7 nie wyświetla .NET Framework 3.5
- 26. Sortowanie Hashset .Net 3.5
- 27. Czy istnieje GUID.TryParse() w .NET 3.5?
- 28. Najlepszy sposób, aby określić, czy zainstalowana jest platforma .NET 3.5
- 29. Czy NUnit działa z .NET 3.5?
Go figure. Później pomyślałem, że przegapiłem "programowo" punkt do twojego pytania, Guy. –