web-dev-qa-db-fra.com

Comment vérifier quelle version/édition de Visual Studio est installée par programme?

Je pourrais lire le registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0. Cependant, cela ne me donne aucune information sur son édition - Professional/Ultimate ou autre 

Comment puis-je obtenir les informations avec un programme (de préférence python)?

enter image description here

30
prosseek
27
Peter Macej

Dans Visual Studio, l'onglet "Aide" -> "À propos de Microsoft Visual Studio" devrait vous donner les informations souhaitées.

21
AGuyCalledGerald

Ouvrez le logiciel Visual Studio installé et cliquez sur le menu Aide sélectionnez le menu Présentation de Microsoft Visual Studio -> Obtenir la version de Visual Studio

6
M.Dinesh Babu

si quelqu'un a besoin d'un exemple en C #, alors:

var registry = Registry.ClassesRoot;
var subKeyNames = registry.GetSubKeyNames();
var regex = new Regex(@"^VisualStudio\.edmx\.(\d+)\.(\d+)$");
foreach (var subKeyName in subKeyNames)
{
    var match = regex.Match(subKeyName);
    if (match.Success)
        Console.WriteLine("V" + match.Groups[1].Value + "." + match.Groups[2].Value);
}
3
Artiom

Ce n'est pas très subtil, mais il y a un dossier dans l'emplacement d'installation qui porte le nom de la version installée. 

par exemple j'ai:

C:\Programmes Visual Studio 9.0\Microsoft Visual Studio 2008 Standard Edition - ENU

et 

C:\Fichiers de programme\Visual Studio 10.0\Microsoft Visual Studio 2010 Professional - ENU

Vous pouvez trouver l'emplacement d'installation à partir des clés de registre que vous avez énumérées ci-dessus.

Alternativement, cela sera dans le registre à plusieurs endroits, par exemple:

HKEY_LOCAL_MACHINE\LOGICIEL\Microsoft\VisualStudio\9.0\Setup\Microsoft Visual Studio 2008 Standard Edition - ENU

La chaîne contient un grand nombre de valeurs et de clés. Vous pouvez les trouver en recherchant "Microsoft Visual Studio 2010" dans la fonction Regedit> Modifier> Rechercher.

Vous devez simplement choisir celui que vous voulez et faire un peu de correspondance de chaîne. 

2
Jon Egerton

Si vous tombez sur cette question, voici la réponse si vous utilisez le langage C++: Vous pouvez vérifier dans votre code cpp la version vs, comme dans l'exemple ci-dessous, qui renvoie à une bibliothèque basée sur la version vs 2015 ou supérieure:

#if (_MSC_VER > 1800)
#pragma comment (lib, "legacy_stdio_definitions.lib")
#endif

Cette opération est effectuée au moment de la liaison et sans aucun coût d’exécution supplémentaire.

2
rezeli

Toutes les informations de ce fil sont maintenant obsolètes depuis la publication récente de vswhere . Téléchargez-le et utilisez-le.

0
johnwbyrd