メインコンテンツまでスキップ

Visual Studioのインストールに関する問題のトラブルシューティング

Visual Studioをインストールする際に、さまざまな問題が発生することがあります。本記事では、よくあるインストール失敗の原因とその解決方法を説明します。

ネットワーク接続の問題

Visual Studio 2017以降のバージョンは、原則としてインストール時にインターネット接続が必要です。インターネットに接続していない、ファイアウォールでブロックされているなどの理由でインターネットに接続できない場合、下図のようにインストーラーの実行時にエラーが表示されます。

インターネットに接続できないため失敗する

信じられないことに、このエラーダイアログには「インターネットに接続できませんでした」としか記載されず、詳細な情報が何も表示されません。このエラーダイアログが表示される場合、まずはブラウザーなどからインターネットに接続できるか確認してください。ブラウザーから一般的なWebサイトに接続できる場合は、Visual Studioのインストーラーが必要とする特定のURLにアクセスできない可能性があります。どのURLにアクセスできないかは、インストーラーのログファイルを確認することでわかります。ログは通常%temp%フォルダーに格納されており、dd_bootstrapper_で始まる拡張子がlogのファイルに記録されます。

ネットワークに接続されていない場合

ネットワークに接続されていない場合の典型的なエラーは、「リモート名を解決できませんでした。」です。このエラーが記録されている場合、インターネットに直接接続できる環境になく、プロキシーサーバーの構成も行われていない可能性が高いです。ケーブルに接続できていることが確認できたら、ネットワーク管理者に問い合わせたほうがよいでしょう。

C:\users\user1\AppData\Local\temp\dd_bootstrapper_20250821232144.log
...
[22c0:0015][2025-08-21T23:21:48] WebClient error 'NameResolutionFailure' - proxy setting 'Default' - 'https://aka.ms/vs/installer/latest/feed'.
[22c0:0015][2025-08-21T23:21:48] WebClient error 'NameResolutionFailure' - proxy setting 'DefaultCredentialsOrNoAutoProxy' - 'https://aka.ms/vs/installer/latest/feed'.
[22c0:0015][2025-08-21T23:21:48] WebClient error 'NameResolutionFailure' - proxy setting 'NetworkCredentials' - 'https://aka.ms/vs/installer/latest/feed'.
[22c0:0015][2025-08-21T23:21:48] WebClient error 'NameResolutionFailure' - proxy setting 'DirectAccess' - 'https://aka.ms/vs/installer/latest/feed'.
[22c0:0015][2025-08-21T23:21:48] WebClient failed in 'https://aka.ms/vs/installer/latest/feed' with 'リモート名を解決できませんでした。: 'aka.ms'' - 'https://aka.ms/vs/installer/latest/feed'.
[22c0:0015][2025-08-21T23:21:48] Warning: Failed to get the HttpWebResponse while invoking a HEAD request against https://aka.ms/vs/installer/latest/feed:System.Net.WebException: リモート名を解決できませんでした。: 'aka.ms'
場所 System.Net.HttpWebRequest.GetResponse()
場所 Microsoft.VisualStudio.Setup.Download.WebRequestService.<>c__DisplayClass9_0.<ExecuteWithRetryAsync>b__0(Object _)
場所 System.Threading.Tasks.Task`1.InnerInvoke()
場所 System.Threading.Tasks.Task.Execute()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Microsoft.VisualStudio.Setup.Download.DownloadManagerAuthenticationProxy.<MungeUriAsync>d__28.MoveNext()

プロキシ認証が要求されている場合

プロキシサーバーを経由してインターネットに接続している場合、プロキシ認証が必要になることがあります。Visual StudioのWebインストーラーはプロキシ認証に対応していないので、インストールに必要なURLへのアクセスで認証が要求されるとインストールに失敗します。記録されるエラーはプロキシサーバー製品によって異なりますが、ネットワークに接続できない場合と異なり名前解決のエラーは記録されないものの、"操作は取り消されました"、"既存の接続はリモート ホストに強制的に切断されました。"といった拒否されたことを示すエラーが記録される傾向があります。ネットワーク管理者に問い合わせて、公式ドキュメントに記載されているドメインで認証が要求されないように通信を許可してもらうとよいでしょう。エラーが継続する場合は通信の許可が不足している可能性があるので、もう一度ログを確認してURLに変化がないか確認してみてください。

C:\users\user1\AppData\Local\temp\dd_bootstrapper_20250821232144.log
...
[2538:0016][2025-08-21T23:41:34] WebClient error 'ProtocolError' - proxy setting 'Default' - 'https://aka.ms/vs/installer/latest/feed'.
[2538:0016][2025-08-21T23:41:34] WebClient error 'ProtocolError' - proxy setting 'DefaultCredentialsOrNoAutoProxy' - 'https://aka.ms/vs/installer/latest/feed'.
[2538:0016][2025-08-21T23:41:34] WebClient error 'ProtocolError' - proxy setting 'NetworkCredentials' - 'https://aka.ms/vs/installer/latest/feed'.
[2538:0016][2025-08-21T23:41:44] WebClient error 'RequestCanceled' with 'https://aka.ms/vs/installer/latest/feed' - ExecuteWithRetryAsync failed along with a cancellation request
[2538:0016][2025-08-21T23:41:44] Warning: Failed to get the HttpWebResponse while invoking a HEAD request against https://aka.ms/vs/installer/latest/feed:System.OperationCanceledException: 操作は取り消されました。
場所 System.Threading.CancellationToken.ThrowOperationCanceledException()
場所 System.Threading.CancellationToken.ThrowIfCancellationRequested()
場所 Microsoft.VisualStudio.Setup.Download.WebRequestService.<>c__DisplayClass9_0.<ExecuteWithRetryAsync>b__0(Object _)
場所 System.Threading.Tasks.Task`1.InnerInvoke()
場所 System.Threading.Tasks.Task.Execute()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Microsoft.VisualStudio.Setup.Download.DownloadManagerAuthenticationProxy.<MungeUriAsync>d__28.MoveNext()

オフラインインストーラーのエラー

Visual Studio 2017以降は原則としてインターネット経由でのインストールになりますが、別ページで紹介しているようにオフライン環境向けにオフラインインストーラーを作成することも可能です。ただし、オフラインインストーラーを作成しても不足しているコンポーネントがある場合はインターネットからのダウンロードを試行するため、オフライン環境ではインストールに失敗します。そのため、オフラインインストーラーを作成した時に指定しなかったワークロードやコンポーネント、言語をインストール時に追加ないこと、確実にファイルをコピーすることに注意する必要があります。特に、フォルダー階層が深い場合はパスの長さの制限で一部のファイルのコピーに失敗する場合があるので、なるべく短いパスにコピーすることをお勧めします。

オフラインインストーラーを使用したときにネットワーク接続が施行された場合の典型的な症状は以下の2点です。

1. インストール開始後にダウンロードが0%から進まない

インストールが進まない

2. エラーメッセージが表示される

ダウンロード失敗のエラーメッセージ

また、ファイルが破損していた場合は以下のようなダイアログが表示されます。

ファイル破損のエラーメッセージ

このとき、"ログの表示"のリンクをクリックすると以下のようなエラーログのファイルが表示されます。基本的にはログに記載されているトラブルシューティング手順に従うのがよいと思いますが、ファイルの破損が疑われる場合はもう一度オフラインインストーラーを作成し直して試してみるほうがよいでしょう。

C:\users\user1\AppData\Local\dd_setup_20250822004152_errors.log
インストールで問題が発生しました。

パッケージの不具合は、次の方法でトラブルシューティングできます:

1. パッケージエラーごとに以下の検索 URL を使用して解決策を検索する
2. 影響を受けるワークロードまたはコンポーネントの選択を変更してから、インストールを再試行する
3. コンピューターから製品を削除してから、再度インストールする

問題が既に Developer Community で報告されている場合は、そこで解決策や回避策を見つけることができます。問題が報告されていない場合は、他の開発者が解決策や回避策を見つけられるように、新しい問題を作成することをお勧めします。Visual Studio インストーラーの右上にある [フィードバックの提供] ボタンから、新しい問題を作成できます。

================================================================================

パッケージ 'Microsoft.VisualStudio.MinShell.Shared.Msi,version=17.14.36024.20' を検証できませんでした。
検索 URL
https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.VisualStudio.MinShell.Shared.Msi;PackageAction=DownloadPackage;ReturnCode=0x80096004
詳細
'Microsoft.VisualStudio.MinShell.Shared.Msi.msi' の SHA256 検証に失敗しました。必要なハッシュ: 6920A7315364099A3531A5303ACE6202D6C634EED73617960BA1772E886744D7、実際のハッシュ: 48D0E68C5527AF5ED392453BF29E4FA0D44B090871D88C019B53DA95946320C2
影響を受けたワークロード
Visual Studio のコア エディター (Microsoft.VisualStudio.Workload.CoreEditor,version=17.14.36015.10)
影響を受けるコンポーネント
Visual Studio のコア エディター (Microsoft.VisualStudio.Component.CoreEditor,version=17.14.36015.10)

collect.exe について

公式ドキュメントのトラブルシュートページでは、ログを収集するためにcollect.exeを使用することが推奨されています。これはVisual Studioや.NET Framework、SQL Serverなどのインストールログを収集するためのツールで、インストールの問題を診断する際に役立ちます。収集されるZIPファイルは概ね以下の構造になっています。

%temp%\vslogs.zip
vslogs.zip
├─LocalAppData
│ └─Microsoft
│ └─VisualStudio
│ └─Packages
│ ├─_Channels
│ │ └─1234abcd --> Visual Studioのチャネル情報
│ └─_Instances
│ └─5678eeff --> Visual Studioの構成情報
├─ProgramData
│ └─Microsoft
│ └─VisualStudio
│ └─Packages
│ └─_Instances
│ └─5678eeff --> Visual Studioの構成情報
├─Temp --> Visual Studioのセットアップログ、Windows Installerログ、Windows Updateログ、CBSログ
└─Windows
└─Microsoft.NET
├─Framework
│ └─v4.0.30319 --> .NET Frameworkのngenログ
└─Framework64
└─v4.0.30319 --> .NET Frameworkのngenログ

公式ドキュメントで紹介されている以外に、様々なコマンドラインオプションが用意されています。特に便利なのは、-zipオプションと-userオプションです。-zipオプションを使用すると、収集したログをZIPファイルにまとめることができます。-userオプションを使用すると、特定のユーザーのログを収集することができます。構成管理ツールからインストールしている場合は実行ユーザーとログオンユーザーが異なる場合があるので、その場合は-userオプションを使用する必要があります。

Microsoft (R) Visual Studio/.NET Log Collection Tool version 17.0.33423.360
Copyright (C) Microsoft Corporation. All Rights Reserved.

Collect install info for Microsoft Visual Studio and .NET Framework.

NOTE: This program may incidentally capture potentially sensitive information
such as user name, machine name, file and directory names. In order to
diagnose interactions of shared components, this may also include
Windows Installer data and install logs for non-Microsoft software.

Usage: Collect <options>

Most options can be shortened to their initial letter.
If not otherwise specified, all accept -<opt>[:yes|no|y|n|true|false|+|-]

-zip:<name> Collect logs in archive <name>. Default: -c:%TEMP%\vslogs.zip
-cab:<name> (Deprecated) Alias for -zip.
-dir:<dir> Collect logs from <dir>. Default: -d:%TEMP%
-user:<name> Collect logs from user <name>'s temp.
-time:<days> Collect logs only from the last <days> from today.
Default: -t:0 Use -t:0 to collect all.
-events Collect event log entries.
-sql Collect SQL installation logs.
-tfs Collect TFS / Azure DevOps configuration and installation logs.
-windows Collect Windows logs: CBS, WindowsUpdate, ReportingEvents
-ngen Collect .NET Framework NGEN logs
-msi Collect Windows Installer logs (MSI*.log)
-inventory Collect Windows Installer inventory.
-io:[pfctxs][:<dir>] Inventory options. Default: -io:pft:%TEMP%
p = Products
f = Features (implies p)
c = Components
t = .TXT format
x = .XML format
s = Split xml: MsiInv.Products.xml, MsiInv.Components.xml
dir = Directory or file for inventory.
-x:<dir> Extract files to <dir>. Use with -zip:<input archive file>.
-xo:[lf] Extract options
l = List files only (do not extract).
f = Flat - extract all files to same directory.
-post:<dir> Post collection to <dir>. -p:yes|no = use default|suppress
-pause[:secs] Pause at end of run so console output can be read.
-quiet Suppress console output.
-nologo Suppress copyright banner.
-no.options Do not use Collect.options file
-? or -help Help
-- Turn off all items.
e.g. run Collect -- -i:yes -c:yes for a cabbed inventory