Cette question n'est pas tant la programmation liée, comme c'est le déploiement des.
Je me trouve en discutant beaucoup avec le groupe de mon entreprise dont le métier est de maintenir notre production de serveurs Windows et le déploiement de notre code. Juridique et de la conformité des raisons, je n'ai pas de visibilité directe ou aucun contrôle sur les serveurs, donc la seule façon de me dire quelle version(s) de .NET sont installés sur l'un d'eux est par le biais des directions que je donne à ce groupe.
Jusqu'à présent, toutes les méthodes, je pense, de dire quelle version(s) sont installés (à vérifier pour les Outils d'Administration correspondant 1.1 ou 2.0, vérifiez que les entrées dans le "Ajouter/Supprimer des Programmes" de la liste, vérifier l'existence de la sous-répertoires c:\Windows\Microsoft.NET) sont défectueux (je l'ai vu au moins une machine avec le 2.0, mais pas de 2.0 entrées sous Outils d'Administration - et cette méthode vous dit rien au sujet de 3.0+, le "Ajouter/Supprimer des Programmes" liste peut être synchronisé avec la réalité, et l'existence des répertoires ne signifie pas nécessairement quoi que ce soit).
Étant donné qu'en général j'ai besoin de savoir ces choses sont en place à l'avance (la découverte que "oups, celui-ci ne disposent pas de toutes les versions et les service packs, vous avez besoin" ne fonctionne pas vraiment bien avec de courtes fenêtres de maintenance) et je dois faire de la vérification "par procuration", puisque je ne peux pas aller sur les serveurs directement, ce qui est le moyen infaillible pour savoir quelle version(s) de .NET sont installés sur un Serveur Windows? De préférence, à quelques intrinsèque de la façon de le faire à l'aide de ce que le cadre installe, car il sera plus rapide et pas besoin d'une sorte d'utilitaire à être chargé et aussi une méthode qui va certainement échouer si les cadres ne sont pas correctement installés, mais vous avez encore des fichiers en place (c'est à dire, il y a un répertoire et gacutil.exe est en effet là, mais que la version du framework n'est pas vraiment "installé")
EDIT: En l'absence d'une bonne infaillible intrinsèque de la façon de faire de cette fonction dans le Cadre(s), personne ne sait de une bonne, légère, no-install-requis programme qui peut le savoir? Je peux imaginer que quelqu'un pourrait facilement écrire un, mais si il en existe déjà un, ce serait encore mieux.