web-dev-qa-db-ja.com

プログラムによってインストールされているVisual Studioのバージョン/エディションを確認するにはどうすればよいですか?

レジストリを読むことができたHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0。ただし、Professional/Ultimateなど、エディションに関する情報は提供されません。

どうすればプログラムで情報を取得できますか(できればpython)?

enter image description here

31
prosseek
27
Peter Macej

Visual Studioでは、[ヘルプ]タブの[Microsoft Visual Studioについて]タブで必要な情報を確認できます。

22

インストールされたVisual Studioソフトウェアを開き、ヘルプメニューをクリックして、Microsoft Visual Studioについて-> Visual Studioバージョンを取得します

6
M.Dinesh Babu

誰かがC#の例を必要とする場合:

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);
}
4
Artiom

それほど微妙ではありませんが、インストール場所にインストールされているバージョン名を含むフォルダーがあります。

例:私が持っている:

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

そして

C:\ Program Files\Microsoft Visual Studio 10.0\Microsoft Visual Studio 2010 Professional-ENU

上記のレジストリキーからインストール場所を見つけることができます。

あるいは、これはいくつかの場所のレジストリにあります。例:

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

文字列が入った値とキーがたくさんあります。Regedit> Edit> Find関数で「Microsoft Visual Studio 2010」を探して見つけることができます。

必要なものを選択して、文字列の一致を少し行うだけです。

2
Jon Egerton

この質問につまずいた人にとって、C++を実行している場合の答えは次のとおりです。vsバージョンに基づいたライブラリに対してリンクする2015年以降の例のように、vsバージョンのcppコードをチェックインできます。

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

これはリンク時に行われ、追加の実行時コストは発生しません。

2
rezeli

vswhere の最近のリリースでは、このスレッドの情報はすべて古くなっています。それをダウンロードして使用してください。

0
johnwbyrd

Cmd C:\ Program Files(x86)\ Microsoft Visual Studio\Installer> vswhere.exeでパスを実行します

0
Sundar MSR