🔍

Visual Studioのインストールパスを取得する方法

2024/10/18に公開

解法

Visual Studioのインストールパスを取得するには、vswhere ツールを活用します。このツールを使用することで、特定のVisual Studioインスタンスのパスを簡単に見つけることができます。

以下は、Visual Studio Enterprise Editionのインストールパスを取得するPowerShellスクリプトの例です。

# エラーが発生した場合に即座に停止するように設定
$ErrorActionPreference = "Stop"

# Visual Studio Installerのパスを変数として定義
$vsInstallerDir = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer"
$vswhereExe = Join-Path $vsInstallerDir "vswhere.exe"
$productId = "Microsoft.VisualStudio.Product.Community"
$channelId = "VisualStudio.17.Release"

# Visual Studioのインストールパスを取得する
$installationPath = & $vswhereExe -format json -prerelease |
    ConvertFrom-Json |
    Where-Object { $_.productId -eq $productId -and $_.channelId -eq $channelId } |
    Select-Object -First 1 |
    Select-Object -ExpandProperty installationPath

Write-Host $installationPath

解説

このスクリプトでは、以下の手順を踏んでVisual Studioのインストールパスを取得しています。

  1. vswhereツールのパスを指定:
    Visual Studioのインストールを検出するために vswhere.exe を使用します。このツールは、Visual Studio Installerのディレクトリにあります。

  2. 製品IDとチャンネルIDの設定:
    productId には取得したいエディション(この例ではCommunity)、channelId にはVisual Studioのチャンネル(vs2020 Release)を指定しています。

  3. インストールパスの取得:
    vswhere の出力をJSON形式で取得し、特定の条件に合致するインスタンスのインストールパスを抽出します。

補足情報

vswhere は、インストールされているVisual Studioのバージョンを特定するのに非常に便利です。productIdchannelId の値を変更することで、異なるエディションやリリースチャンネルに対応したインストールパスを取得できます。

スクリプトを変更することで、他のエディション(ProfessionalやEnterprise)や異なるリリースチャンネルのインスタンスを検索することも可能です。

Discussion