wingettroubleshootingdependencieserror

Fix: winget 'Failed to Install Dependency' Errors

winget refusing to install because a dependency failed? Here are 5 fixes — from manual dependency install to using --skip-dependencies.

· 4 min read · updated May 29, 2026
Fix: winget 'Failed to Install Dependency' Errors

winget failed installing an app because "Failed to install dependency"? Here's why this happens and 5 ways to fix it.

What "dependency" means in winget

Some packages declare dependencies — other winget packages that must be installed first. Common dependencies:

  • Microsoft.DotNet.Runtime.X — .NET runtime versions
  • Microsoft.VCRedist.YYYY.x64 — Visual C++ runtimes
  • Microsoft.EdgeWebView2 — embedded browser engine
  • Microsoft.WindowsTerminal — for apps that need it as a host
  • OpenJS.NodeJS — for Node-based desktop apps

When you winget install Some.App, winget tries to install all declared dependencies first. If any dependency install fails, the main install aborts.

Fix 1 — Install dependencies manually

First, see what dependencies the package needs:

winget show --id Some.App

Look at the Dependencies section:

Dependencies:
  Microsoft.DotNet.Runtime.8 >= 8.0.0
  Microsoft.VCRedist.2015+.x64 >= 14.40.33810.0

Install each one:

winget install --id Microsoft.DotNet.Runtime.8
winget install --id Microsoft.VCRedist.2015+.x64

Then install the main app:

winget install --id Some.App

Often the dependency install fails because of a different bug (architecture mismatch, network issue) and you can debug that in isolation.

Fix 2 — Use --skip-dependencies

If you've already installed the dependencies yourself (manually or via Windows Update), skip the check:

winget install --id Some.App --skip-dependencies

winget proceeds with the main install and doesn't verify dependencies. Risky if dependencies are actually missing — the app may install but crash at first launch.

Fix 3 — Update Microsoft Edge WebView2

A surprisingly common dependency. Many modern apps embed WebView2. If it's outdated or missing:

winget install --id Microsoft.EdgeWebView2 --force

Then retry the main app install.

Fix 4 — Install .NET runtime versions

Many apps need a specific .NET runtime. The error usually says which:

Microsoft.DotNet.Runtime.8 failed

Install it explicitly:

winget install --id Microsoft.DotNet.Runtime.8

If that fails with "no installer found", you may be on an unsupported architecture (32-bit, ARM legacy). Force x64:

winget install --id Microsoft.DotNet.Runtime.8 --architecture x64

Fix 5 — Install VC++ Redistributables

Visual C++ Redistributables are mostly invisible but required by many apps. Install all of them once:

winget install --id Microsoft.VCRedist.2015+.x64
winget install --id Microsoft.VCRedist.2015+.x86
winget install --id Microsoft.VCRedist.2012.x64
winget install --id Microsoft.VCRedist.2012.x86
winget install --id Microsoft.VCRedist.2010.x64
winget install --id Microsoft.VCRedist.2010.x86

Then retry your main install.

Specific dependency errors

"Microsoft.DotNet.Runtime.8 failed to install"

.NET 8 install failed. Check if it's actually needed (some apps work with 7 or 9):

winget show --id Some.App

If the dependency is >= 8.0.0, try .NET 9:

winget install --id Microsoft.DotNet.Runtime.9

Some apps accept newer runtime versions; some don't. If the app still fails after install, you genuinely need exactly version 8 — try downloading manually from dotnet.microsoft.com.

"EdgeWebView2 failed"

Microsoft Edge WebView2 install can fail if Edge itself is broken. Reset Edge:

Get-AppxPackage Microsoft.MicrosoftEdge | Reset-AppxPackage

Then retry:

winget install --id Microsoft.EdgeWebView2 --force

"Failed to install required Visual C++ runtime"

The VC++ installer requires Windows Update prerequisites. Run:

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Then retry the dependency install.

"Dependency not found"

The dependency ID in the manifest doesn't exist in the catalog. Often a typo or removed package. Skip:

winget install --id Some.App --skip-dependencies

Then install dependencies manually if known.

Reverse-look up: which apps depend on this?

If you need to know what would break by uninstalling a dependency:

winget search --tag dependency

Or for specific dependencies, check the GitHub manifests:

github.com/microsoft/winget-pkgs/search?q=Microsoft.DotNet.Runtime.8

Pre-install everything common at once

Bootstrap a new machine by installing the most common dependencies upfront:

$deps = @(
  "Microsoft.DotNet.Runtime.6",
  "Microsoft.DotNet.Runtime.7",
  "Microsoft.DotNet.Runtime.8",
  "Microsoft.DotNet.Runtime.9",
  "Microsoft.DotNet.AspNetCore.8",
  "Microsoft.VCRedist.2015+.x64",
  "Microsoft.VCRedist.2015+.x86",
  "Microsoft.VCRedist.2012.x64",
  "Microsoft.VCRedist.2010.x64",
  "Microsoft.EdgeWebView2"
)

$deps | ForEach-Object {
  winget install --id $_ --accept-package-agreements --accept-source-agreements
}

Run once on a new machine. Most future installs will breeze through.

When dependencies don't get cleaned up

If you uninstall an app but its dependencies linger:

winget list --source winget | Select-String "DotNet.Runtime"

Manually uninstall unused dependencies:

winget uninstall --id Microsoft.DotNet.Runtime.6

Be careful — other apps may need them. When in doubt, leave dependencies installed.

Specific scenarios

"I'm getting Failed to install dependency on EVERY install"

Network or admin issue is breaking dependency downloads. Check:

winget upgrade --all --include-unknown

If this also fails, see winget download failed fix.

"Dependency installs successfully but main app still says missing"

Reboot. Sometimes dependency registration doesn't propagate to all processes until restart.

"I want to bundle dependencies into my exported list"

winget export includes dependencies by default. On import on a clean machine:

winget import -i my-apps.json --accept-package-agreements --accept-source-agreements

Will install dependencies first, then apps.

Set up cleanly from day one
winget.tech bundles pre-include common dependencies — install everything at once with no surprises.
Browse bundles →

What's next?

Continue reading