Visual Studio インスタンスの検出および管理用のツール

クライアント コンピューター上の Visual Studio のインストールを検出して管理するために使用できるツールがいくつかあります。

既存の Visual Studio インスタンスの検出

次のツールとユーティリティを使用すると、クライアント コンピューターにインストールされている Visual Studio インスタンスを検出および管理するのに役立ちます。

  • vswhere: Visual Studio に組み込まれているか、個別のディストリビューションで使用可能な実行可能ファイルです。特定のコンピューター上のすべての Visual Studio インスタンスの場所を見つけるのに役立ちます。
  • VSSetup.PowerShell: セットアップ構成 API を使用して Visual Studio のインストール済みインスタンスを識別する PowerShell スクリプトです。
  • VS-Setup-Samples: セットアップ構成 API を使用して既存のインストールを照会する方法を示す C# と C++ のサンプルです。
  • Windows Management Instrumentation (WMI): Visual Studio のインスタンス情報は、Visual Studio のクラス MSFT_VSInstance を使用して照会できます。
  • セットアップ構成 API は、Visual Studio インスタンスを問い合わせるために独自のユーティリティを構築する開発者向けのインターフェイスを提供します。
  • Microsoft Endpoint Configuration Manager ソフトウェア インベントリ: クライアント デバイス上の Visual Studio インスタンスに関する情報を収集するために使用できます。

vswhere.exe の使用

vswhere.exe は Visual Studio 2017 以降に自動的に含まれていますが、vswhere リリース ページからダウンロードすることもできます。 ツールのヘルプ情報を取得する場合は vswhere -? を使用します。 たとえば、このコマンドを使用すると、製品の以前のバージョンとプレリリースを含む Visual Studio のすべてのリリースが表示され、結果が JSON 形式で出力されます。

C:\Program Files (x86)\Microsoft Visual Studio\Installer>vswhere.exe -legacy -prerelease -format json

Windows Management Instrumentation (WMI) の使用

コンピューターに Visual Studio Client Detector Utility がインストールされている場合は、WMI を使用して Visual Studio インスタンス情報を照会できます。 Visual Studio Client Detector Utility は、2020 年 5 月 12 日以降にリリースされたすべての Visual Studio 2017、Visual Studio 2019、Visual Studio 2022 の更新プログラムにより既定でインストールされます。 個別にインストールする場合は、Microsoft Update カタログからも入手できます。 ユーティリティを使用して Visual Studio インスタンス情報を返す方法の例については、クライアント コンピューターで管理者として PowerShell を開き、次のコマンドを入力します。

Get-CimInstance MSFT_VSInstance -Namespace root/cimv2/vs

Microsoft Endpoint Configuration Manager の使用

Microsoft Endpoint Configuration Manager ソフトウェア インベントリ機能を使用して、クライアント デバイス上の Visual Studio インスタンスに関する情報のクエリを実行し、収集することができます。 たとえば、次のクエリを実行すると、インストールされているすべての Visual Studio 2017、2019、2022 インスタンスについて、Visual Studio がインストールされている表示名、バージョン、およびデバイス名が返されます。

select distinct SMS_G_System_COMPUTER_SYSTEM.Name, SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS.Version from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Visual Studio %[a-z]% 201[7,9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Visual Studio %[a-z]% 2022"

Visual Studio インスタンスのレジストリの編集

Visual Studio ではレジストリ設定はプライベートな場所に保存されているため、同じバージョンの Visual Studio の複数のインスタンスを side-by-side で同じコンピューターで使用できます。

これらのエントリはグローバル レジストリには保存されないため、レジストリ エディターを使用してレジストリ設定を変更するための特別な指示があります。

  1. Visual Studio で開いているインスタンスがある場合は、閉じてください。

  2. regedit.exeを起動します。

  3. HKEY_LOCAL_MACHINE ノードを選択します。

  4. レジストリ エディターのメイン メニューから [ファイル]>[ハイブの読み込み...] を選択して、AppData\Local フォルダーに保存されているプライベート レジストリ ファイルを選択します。 次に例を示します。

    %localappdata%\Microsoft\VisualStudio\<config>\privateregistry.bin
    

    注意

    <config> は参照する Visual Studio のインスタンスに対応します。

分離されたハイブの名前になるハイブ名を指定するように求められます。 これを行うと、作成した分離されたハイブの下にあるレジストリを参照できるようになります。

重要

Visual Studio を再度開始する前に、作成した分離されたハイブをアップロードする必要があります。 これを行うには、レジストリ エディターのメイン メニューから [ファイル]>[ハイブのアンロード] の順に選択します。 (これを行わない場合、ファイルはロックされたままになり、Visual Studio で開始することができません。)

サポートまたはトラブルシューティング

ときには、問題が発生してしまうことがあります。 Visual Studio のインストールが失敗した場合は、「Visual Studio のインストールとアップグレードの問題のトラブルシューティング」に記載されているステップ バイ ステップ ガイドをご覧ください。

他のいくつかのサポート オプションを次に示します。