Comment puis-je détecter les versions et les Service Packs .NET Framework installés?


Answers

Il existe une réponse Microsoft officielle à cette question dans l'article suivant de la base de connaissances:

Numéro d'article: 318785 - Dernière mise à jour: jeudi 7 novembre 2008 - Version: 20.1 Comment déterminer quelles versions de .NET Framework sont installées et si des Service Packs ont été appliqués

Malheureusement, cela ne semble pas fonctionner, car la version de mscorlib.dll dans le répertoire 2.0 a une version 2.0, et il n'y a pas de version de mscorlib.dll dans les répertoires 3.0 ou 3.5 même si 3.5 SP1 est installé ... pourquoi? la réponse officielle de Microsoft serait-elle si mal informée?

Question

Une question similaire a été posée ici , mais elle était spécifique à .NET 3.5. Plus précisément, je cherche ce qui suit:

  1. Quelle est la méthode correcte pour déterminer quelles versions .NET Framework et service packs sont installés?
  2. Y a-t-il une liste de clés de registre pouvant être utilisées?
  3. Y a-t-il des dépendances entre les versions de Framework?



J'avais besoin de savoir quelle version du framework .NET j'avais sur mon ordinateur, et tout ce que je faisais était d'aller dans le panneau de contrôle et de sélectionner l'option "Désinstaller un programme". Après cela, j'ai trié les programmes par nom et trouvé Microsoft .NET Framework 4 Client Profile.







En utilisant la bibliothèque Signum.Utilities de SignumFramework (que vous pouvez utiliser de manière autonome), vous pouvez l'obtenir facilement et sans traiter le registre par vous-même:

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



Mise à jour pour .NET 4.5.1

Maintenant que .NET 4.5.1 est disponible, la valeur réelle de la clé nommée Release dans le registre doit être vérifiée, pas seulement son existence. Une valeur de 378758 signifie que .NET Framework 4.5.1 est installé. Cependant, comme décrit ici, cette valeur est 378675 sur Windows 8.1.




Énumérer les sous-clés de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP . Chaque sous-clé est une version .NET . Il doit avoir la valeur Install=1 si elle est présente sur la machine, une valeur SP indiquant le Service Pack et une valeur MSI=1 si elle a été installée à l'aide d'un MSI. (.NET 2.0 sur Windows Vista n'a pas le dernier par exemple, car il fait partie du système d'exploitation.)




Dans Windows 7 (cela devrait aussi fonctionner pour Windows 8, mais je ne l'ai pas testé):

Aller à une invite de commande

Étapes à suivre pour une invite de commande:

  1. Cliquez sur le menu Démarrer
  2. Dans la zone de recherche, tapez "cmd" (sans les guillemets)
  3. Ouvrez cmd.exe

Dans cmd, tapez cette commande

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

Cela donne la dernière version de NET Framework installé.

On peut aussi essayer Raymond.cc Utilties pour le même.