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?






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.




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.




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.)







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.




Links