0X000036C0

Fix ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED (0X000036C0)

0X000036C0 means a program needs a Visual C++ or .NET runtime that isn't on your PC. Here's how to find the missing piece and install it fast.

I know this error is infuriating — you double-click a program you've used a hundred times and Windows slams the door with a hex code that means nothing to a normal person.

Here's the short version: 0X000036C0 translates to ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED. The app you're launching has a manifest file that lists the exact runtime DLLs it needs (usually a specific Visual C++ redistributable or .NET version), and one of those pieces isn't on your machine. Windows won't fake it. It just refuses to start the app.

Get the exact missing dependency first

Don't guess. Windows tells you exactly what's missing if you ask it. Open Event Viewer (eventvwr.msc) and go to Windows Logs > Application. Look for a red SideBySide entry with source SideBySide right around the time you tried to launch the app.

You'll see something like this:

Activation context generation failed for "C:\Program Files\MyApp\myapp.exe".
Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="x86",
publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found.

That block is your shopping list. In this example, the app needs the Visual C++ 2008 x86 runtime (VC90 = 2008). Copy the assembly name and version — you'll match it to a download in the next step.

If Event Viewer is empty

Run the app from an elevated command prompt to force the error to register:

cd "C:\Program Files\MyApp"
myapp.exe

Then refresh Event Viewer. If you still get nothing, enable SxS tracing with sxstrace.exe:

sxstrace Trace -logfile:sxs.etl
REM launch the failing app, then:
sxstrace Parse -logfile:sxs.etl -outfile:sxs.txt

Open sxs.txt. The last few lines name the assembly that couldn't load. That's your culprit.

Install the runtime it's asking for

Match the assembly name to a redistributable. Here's the cheat sheet — this trips people up constantly because the version numbers don't map cleanly to years:

Manifest nameDownload
Microsoft.VC80.CRTVisual C++ 2005 Redistributable
Microsoft.VC90.CRTVisual C++ 2008 Redistributable
Microsoft.VC100.CRTVisual C++ 2010 Redistributable
Microsoft.VC140.CRTVisual C++ 2015-2022 Redistributable
Microsoft.Windows.Common-ControlsOS component — run sfc /scannow
Microsoft.NET FrameworkInstall the .NET version from the manifest (4.8, 6, 8, etc.)

Grab both x86 and x64 installers for the version you need. A 64-bit app can still load 32-bit dependencies, and vice versa. Installing only x64 is the single most common reason people come back with the same error an hour later.

Get them from Microsoft's official download center, not a random "runtime pack" site. Those bundles ship stubs that look installed but fail the manifest check.

Reboot, then launch the app. It should open.

Why that fixed it

Every modern Windows app carries a manifest — an XML blob embedded in the executable that says "I need these exact assembly versions." (This system is called Side-by-Side, or SxS, and it exists so two programs needing different versions of the same DLL can coexist without trampling each other.)

When you launch the app, the SxS loader reads the manifest, checks the WinSxS folder and the installed redistributables, and tries to bind the exact versions listed. If a version is missing, the loader bails with 0X000036C0 instead of falling back to a newer version. It's not a bug — Windows is protecting the app from loading a DLL it wasn't built against. Installing the redistributable drops the missing assembly into C:\Windows\WinSxS, and the loader finally has what it asked for.

Less common variations

Sometimes installing the redistributable doesn't clear the error. Here's what else to check.

A corrupt or half-installed runtime

If the redistributable shows in Programs and Features but the error persists, the install is broken. In an elevated prompt:

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

Then uninstall and reinstall the redistributable. A failed Windows Update that was interrupted mid-runtime-install is a classic cause of this.

A missing policy or activation context (rare)

On locked-down corporate machines, an AppLocker or Software Restriction Policy can block the SxS loader from reading the manifest. Check with your IT admin if the app works for everyone except you and your colleagues.

.NET version mismatch

If the manifest references a .NET version that's newer than what's installed, install that exact major version. .NET 4.x is backward-compatible within the 4 family, but .NET 5, 6, 8, and 9 are side-by-side with 4.x — you can't skip them. The manifest demands the version it wants.

Corrupt app manifest itself

Rare, but a bad download or antivirus tampering can corrupt the manifest inside the EXE. Reinstall the app from a fresh installer.

Prevention

Run Windows Update regularly — it silently ships Visual C++ and .NET updates that prevent most of these errors. When you uninstall old software, don't uninstall the Visual C++ redistributables it left behind. They're shared by dozens of other apps, and yanking one is the fastest way to break something unrelated three weeks later. If you're the one deploying software, bundle your runtime dependency with the installer instead of assuming the target machine has it.

Related Errors in Windows Errors
0X000020CD Fix ERROR_DS_TREE_DELETE_NOT_FINISHED (0X000020CD) in Active Directory 0X8010000D Fix SCARD_E_UNKNOWN_CARD (0X8010000D) Error Fast 0X00000005 ERROR_ACCESS_DENIED (0X00000005) — Access is Denied 0XC0210021 STATUS_FVE_REBOOT_REQUIRED 0XC0210021 Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.