Come faccio a sapere quali versioni di .NET Framework e service pack sono installati?


Answers

C'è una risposta Microsoft ufficiale a questa domanda al seguente articolo della Knowledge Base:

Identificativo articolo: 318785 - Ultima revisione: 7 novembre 2008 - Revisione: 20.1 Come determinare quali versioni di .NET Framework sono installate e se i service pack sono stati applicati

Sfortunatamente, non sembra funzionare, perché la versione mscorlib.dll nella directory 2.0 ha una versione 2.0 e non c'è la versione mscorlib.dll nelle directory 3.0 o 3.5 anche se è installato 3.5 SP1 ... perché la risposta ufficiale di Microsoft sarebbe stata così disinformata?

Question

Una domanda simile è stata posta qui , ma era specifica per .NET 3.5. In particolare, sto cercando il seguente:

  1. Qual è il modo corretto per determinare quali versioni di .NET Framework e service pack sono installati?
  2. Esiste un elenco di chiavi del Registro di sistema che è possibile utilizzare?
  3. Ci sono delle dipendenze tra le versioni del Framework?



Enumerare le sottochiavi di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP . Ogni sottochiave è una versione .NET . Dovrebbe avere valore Install=1 se è presente sulla macchina, un valore SP che mostra il service pack e un valore MSI=1 se è stato installato utilizzando un MSI. (.NET 2.0 su Windows Vista non ha l'ultimo, ad esempio, poiché fa parte del sistema operativo.)







Aggiornamento per .NET 4.5.1

Ora che .NET 4.5.1 è disponibile, è necessario verificare il valore effettivo della chiave denominata Release nel registro, non solo la sua esistenza. Un valore di 378758 indica che .NET Framework 4.5.1 è installato. Tuttavia, come descritto qui questo valore è 378675 su Windows 8.1.




Avevo bisogno di scoprire solo quale versione di .NET framework avevo sul mio computer, e tutto ciò che ho fatto è stato andare al pannello di controllo e selezionare l'opzione "Disinstalla un programma". Successivamente, ho ordinato i programmi per nome e ho trovato il profilo client di Microsoft .NET Framework 4.




Usando la libreria Signum.Utilities di SignumFramework (che puoi usare stand-alone), puoi ottenerla facilmente e senza occuparti del registro da solo:

AboutTools.FrameworkVersions().ToConsole();
//Writes in my machine:
//v2.0.50727 SP2
//v3.0 SP2
//v3.5 SP1






In Windows 7 (dovrebbe funzionare anche per Windows 8, ma non l'ho testato):

Vai a un prompt dei comandi

Passi per andare a un prompt dei comandi:

  1. Fai clic sul menu Start
  2. Nella casella di ricerca, digita "cmd" (senza virgolette)
  3. Apri cmd.exe

In cmd, digitare questo comando

wmic /namespace:\\root\cimv2 path win32_product where "name like '%%.NET%%'" get version

Questo fornisce l'ultima versione di NET Framework installata.

Si può anche provare Raymond.cc Utilties per lo stesso.