LoginSignup
0
1

Flutterの環境構築で Visual Studio の Desktop development with C++ インストールに詰まった話

Last updated at Posted at 2023-09-20

はじめに

 Flutterの環境構築をしていたら、「Desktop development with C++ (C++によるデスクトップ開発)」のインストールに詰まったので共有。
 実際には「Desktop development with C++ (C++によるデスクトップ開発)」のインストールに含まれる「Microsoft Visual C++ 2015-2022 Redistributable (X64)」、「同(X86)」のインストールに失敗するというお話のため、Flutter用途以外の人にもお役に立てるかもしれません。

症状

flutter doctor で環境診断をすると、こんな感じでした。
※Visual Studioのバージョンは何となく(20xx.xx.xx.xxで)隠しました。Visual Studioがインストールされていれば、そのバージョンが表示されるかと思います。

> flutter doctor
<中略>
[!] Visual Studio - develop Windows apps (Visual Studio Community 20xx xx.xx.xx)
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop
      development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK

そこで、Visual Studio Installerから「Desktop development with C++ (C++によるデスクトップ開発)」をインストールしようとすると、途中でエラーが表示されました。
※実際のエラー画面を取り漏れてしまい、Microsoft Communityからの引用なんですが、次のようなエラーでした。表示されるランタイムのバージョンが少し違いましたが、同じメッセージです。

image.png
【引用1】Microsoft Community

その後、次のようなエラーメッセージがでました。

image.png
【引用2】Microsoft Community

どうやら古いバージョンのC++ 2019ランタイムが削除できないことに起因している模様。

じゃあ、直接コントロールパネルから削除(Microsoft Visual C++ 2015-2022 Redistributableのアンインストール)を試みようとすると、そこでも失敗(リストには出ているのに、「既にないよ」のようなエラー内容)

解決方法

※私の解決方法を下記に記載しますが、対応は自己責任でお願いします。

結論から言えば、上記画像の引用1(リンク)に回答されている内容でよかったのかもしれないが、直接レジストリの知らない箇所を触るのは怖い。
ということで、このMS公式ツール(プログラムのインストールとアンインストールのトラブルシューティング ツール)を使いました。
Fix problems that block programs from being installed or removed

上記リンクからツール(MicrosoftProgram_Install_and_Uninstall.meta.diagcab)をダウンロードして、実行します。

  1. 次へをクリック
    image.png

  2. アンインストールを選択
    image.png

  3. アンインストールしたいランタイムを選択
    (注)下図は修正後の画像です。
    実際に削除したランタイムは「Microsoft Visual C++ 2019 X64 Minimum Runtime」、「Microsoft Visual C++ 2019 X64 Additional Runtime」、「Microsoft Visual C++ 2019 X86 Minimum Runtime」、「Microsoft Visual C++ 2019 X86 Additional Runtime」を削除しました。
    image.png

  4. アンインストールの完了
    image.png

  5. PCの再起動(念のため)

  6. Visual Studio Installerから「Desktop development with C++ (C++によるデスクトップ開発)」をインストール(正常に完了)

  7. flutter doctor で診断

> flutter doctor
<中略>
[√] Visual Studio - develop Windows apps (Visual Studio Community 20xx xx.xx.xx)

無事にFlutterの環境構築(Visual Studio箇所)も完了しました。

補足

Desktop development with C++ (C++によるデスクトップ開発)」のインストールでは、C++ランタイム以外のインストールもされてしまいます。C++ランタイムだけをインストールしたいという方は こちら から最新バージョンのランタイム(vc_redist.x64.exevc_redist.x86.exe)を入手できます。
※2023年9月時点:2015-2022 C++ 再頒布可能パッケージ

おわりに

解決までに無駄に時間が掛かりました。
ネットで色々調べていると最悪Windowsの再インストールやリカバリが必要、みたいな内容もちらほら見かけ、それだけは避けたいと考えてました。

私みたいに詰まってしまった方のお役に立てたら幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1