2024年3月20日水曜日

Visual Studio のコンポーネントを CLI でインストールする

TL;DR

setup.exe を使って setup.exe modify --installPath <対象バージョンのインストールパス> --add <コンポーネントID> --quit

例えば、 Visual Studio BuildTools に Windows11 SDK と MSVC C++ Build Tools をインストールしたい場合は、以下のコマンドを実行する。

& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe' modify `
    --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools' `
    --add Microsoft.VisualStudio.Component.Windows11SDK.22621 `
    --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
    --quiet

コンポーネントID は以下サイトにて確認できる。

Windows サンドボックスで実践してみる

TL;DR の例を実行してみる。

前提

winget のインストール

今回は、 Visual Studio BuildTools を winget でインストールするので、 Windows サンドボックスで利用可能にする手順を実施する。

$progressPreference = 'silentlyContinue'
Write-Information "Downloading WinGet and its dependencies..."
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile Microsoft.VCLibs.x64.14.00.Desktop.appx
Invoke-WebRequest -Uri https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.6/Microsoft.UI.Xaml.2.8.x64.appx -OutFile Microsoft.UI.Xaml.2.8.x64.appx
Add-AppxPackage Microsoft.VCLibs.x64.14.00.Desktop.appx
Add-AppxPackage Microsoft.UI.Xaml.2.8.x64.appx
Add-AppxPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

Visual Studio BuildTools のインストール

winget install --silent --accept-source-agreements Microsoft.VisualStudio.2022.BuildTools

これで、 VisualStudio BuildTools と Visual Studio Installre がそれぞれ下記に配置される。

  • Visual Studio BuildTools: C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools
  • Visual Studio Installer: C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe

コンポーネントのインストール

本題。TL;DR に記載のコマンドを実行する。

& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe' modify `
    --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools' `
    --add Microsoft.VisualStudio.Component.Windows11SDK.22621 `
    --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
    --quiet

これで MSVC C++ Build ToolsWindows 11 SDK のインストールが完了する。

インストールと同時にコンポーネントをインストールする

今回の例だと、「未インストールの状態からコンポーネントのインストールまでを実施する」なので、 実は、「インストールと同時にコンポーネントのインストール」もできる。

winget のインストールコマンドを以下のように変更する。

winget install --silent --accept-source-agreements `
    Microsoft.VisualStudio.2022.BuildTools `
    --override " `
        --add Microsoft.VisualStudio.Component.Windows11SDK.22621 `
        --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
        --quiet"

参考資料

0 件のコメント:

コメントを投稿