mscoree.dll not found or failing: how to fix the .NET Framework error
mscoree.dll is the Microsoft .NET Runtime Execution Engine, the small loader that every program written for .NET Framework starts through. Windows 10 and 11 include it in System32 and SysWOW64. When a program says it is missing, the real problem is almost always .NET Framework itself: the version the program needs is turned off, damaged or not installed.
Prefer to fix it yourself? The manual steps follow.
How to fix mscoree.dll errors
A program written for .NET Framework cannot run on its own: Windows hands it to mscoree.dll, which finds the right .NET runtime and starts it. So when the error names mscoree.dll, fix .NET Framework. First open Turn Windows features on or off and make sure .NET Framework 3.5 and .NET Framework 4.8 Advanced Services are ticked; older programs need 3.5, which Windows does not turn on by default. Then install every Windows update, because .NET Framework is serviced through Windows Update. If the error stays, run sfc /scannow and DISM to restore the Windows copy of mscoree.dll, and reinstall the program that fails.
Do not copy mscoree.dll from another PC or a download site into System32, SysWOW64 or a program folder. The file is only the front door: without the .NET runtime behind it, a copied file still cannot start the program, and a stray mscoree.dll next to a program is exactly what attackers plant to get code run by a trusted Microsoft program.

Step by step
- Read the whole message and note the program. Write down which program shows the error and the exact text. The code execution cannot proceed because mscoree.dll was not found means the loader itself could not be loaded. A window that asks you to install a .NET Framework version, or says it is unable to find a version of the runtime, means mscoree.dll works but the runtime the program asks for is missing. The next steps fix both, in the order that solves most cases.
- Turn on .NET Framework in Windows Features. Press Windows key + R, type optionalfeatures and press Enter. In Windows Features, tick .NET Framework 3.5 (includes .NET 2.0 and 3.0) and make sure .NET Framework 4.8 Advanced Services is ticked too. Click OK, let Windows download the files from Windows Update, and restart when asked. Programs made for .NET Framework 2.0, 3.0 and 3.5 need the first box; on Windows 10 and 11 it is off until you turn it on.
- Accept the .NET Framework 3.5 prompt if Windows shows one. When you start an older program, Windows may open a dialog that says an app on your PC needs .NET Framework 3.5. Choose Download and install this feature. It needs an internet connection and does the same as the box in Windows Features. If it fails with an error code, continue with Windows Update and DISM below, then try again.
- Install Windows updates and restart. Open Settings, Windows Update, install everything that is offered, including optional updates, and restart. On Windows 10 and 11, .NET Framework 4.8 and its monthly fixes come through Windows Update, and so does the current mscoree.dll for your Windows release. A damaged copy is replaced in the same pass.
- Run System File Checker. Type cmd in the Start menu, right-click Command Prompt and choose Run as administrator. Run sfc /scannow and wait until it reaches 100%. It compares protected Windows files, mscoree.dll in System32 and SysWOW64 included, with the stored originals and repairs any that were damaged, deleted or replaced. Restart afterwards.
- If System File Checker cannot repair everything, run DISM. In the same administrator window run DISM /Online /Cleanup-Image /RestoreHealth. It repairs the component store that System File Checker and Windows Features take their files from. A broken store is also the usual reason why turning on .NET Framework 3.5 fails. When DISM finishes, run sfc /scannow once more, restart, and repeat step 2 if 3.5 did not install before.
- Read the crash in Event Viewer if the program starts and then closes. Open Event Viewer, Windows Logs, Application, and look at the minute of the crash. A .NET Runtime error event there names the exception and the part of the program that failed. An Application Error event with exception code 0xe0434352 is the same .NET crash seen from Windows. In both cases mscoree.dll only reported the failure: the program, its settings or a file it needs is at fault, so update or reinstall that program.
- Reinstall or update the program. Uninstall the failing program from Settings, Apps, then install the newest version from its publisher. Its installer often brings or asks for the .NET Framework version it needs. If the program is old, check its system requirements: .NET Framework 1.0 and 1.1 have no supported runtime on Windows 10 or 11, so for a program that needs them a newer release of the program is the only fix.
- Still failing in many .NET programs: repair Windows in place. On Windows 11, Settings, System, Recovery offers Fix problems using Windows Update, which reinstalls the current version of Windows and keeps your files, apps and settings. On Windows 10 the same result comes from running Microsoft's installation media and choosing to keep personal files and apps. This replaces mscoree.dll and the built-in .NET Framework 4.8 together.
Download the genuine mscoree.dll for your Windows version
Each file below is Microsoft's own mscoree.dll for one Windows release, fetched from Microsoft's own server and checked against Winbindex, the index of the files in Windows images and updates. Use these files to compare: to confirm that a mscoree.dll you have is genuine, or to see which build your release should have. Copying one into a program folder does not fix a .NET error, because the runtime behind the file is what the program needs. Windows' own copy is repaired with the steps above.
Older Windows releases
A free uGetFix account is needed to download. Sign in, or create one in a minute, and you come straight back here.
What not to do
Do not put mscoree.dll in the program's folder.
Windows looks for many DLLs in the program's own folder first, so a copy there can be loaded instead of Windows' file. It still cannot start a .NET program without an installed runtime, and it hides the real problem. Security researchers list mscoree.dll among the names attackers plant next to Microsoft programs for this reason.
Do not download mscoree.dll from a DLL collection site.
You cannot tell which Windows release, .NET Framework version or architecture the file comes from, or whether it was changed. Old .NET Framework 1.x, 2.x and 4.x copies of the file still circulate on such sites, and none of them belongs on Windows 10 or 11. Use the genuine files above only to compare.
Do not replace the file in System32 or SysWOW64 by hand.
Taking ownership of the folder to swap mscoree.dll removes the protection Windows puts on its own files. A wrong build there breaks every .NET Framework program at once, Windows Update may replace it again, and System File Checker will report it. sfc /scannow and DISM restore the file without touching permissions.
Do not install an old .NET Framework installer on Windows 10 or 11.
Standalone installers for .NET Framework 3.5 and older versions are made for older Windows. On Windows 10 and 11, .NET Framework 3.5 is a Windows feature and 4.8 is built in; turn them on in Windows Features or let Windows Update install them.
Do not confuse .NET Framework with .NET 6, 8 or later.
Installing the newer .NET runtimes from Microsoft's .NET download page does not help a program written for .NET Framework, and it does not use mscoree.dll to start. Read the program's requirements: it says .NET Framework 4.x, .NET Framework 3.5 or a numbered .NET version.
Check the copy on your PC
Choose the mscoree.dll you are unsure about, for example one you found outside the Windows folders. Its checksum is calculated in your browser and compared with 47 Microsoft builds of the file from Windows releases and updates.
The file stays on your computer. Nothing is uploaded: the checksum is computed locally.
3 genuine programs have been documented loading a planted copy of mscoree.dll. Found a mscoree.dll outside System32 and SysWOW64, for example in Downloads, Temp, AppData or next to a program? Windows never puts it there. That is a security question, not an error one. Is the mscoree.dll you found genuine? On 2-Spyware
The error messages and what each one means
The wording tells you which part failed: the loader file, the runtime it looks for, or the program after it started. These are the texts people see, with the program name left out.

The code execution cannot proceed because mscoree.dll was not found. Reinstalling the program may fix this problem.
Windows could not load mscoree.dll at all. On Windows 10 and 11 the file is part of Windows, so this points to a damaged Windows installation or a file removed by a cleaner or security tool. Run Windows Update, sfc /scannow and DISM. On a very old or stripped-down Windows, install .NET Framework.
The application failed to initialize properly (0xc0000135).
An older form of the same message: a DLL the program needs, very often mscoree.dll and the .NET Framework behind it, could not be found. Turn on .NET Framework in Windows Features, update Windows and repair with sfc and DISM.
An app on your PC needs the following Windows feature: .NET Framework 3.5 (includes .NET 2.0 and 3.0)
mscoree.dll works and found that the program targets an older .NET Framework that is switched off. Choose Download and install this feature, or tick the box in Windows Features. If the download fails, run DISM first.
To run this application, you first must install one of the following versions of the .NET Framework
The program asks for a specific version, listed in the message. On Windows 10 and 11 the answer is almost always to turn on .NET Framework 3.5 or to update Windows so that 4.8 is current. For .NET Framework 1.0 and 1.1 there is no supported runtime on these systems.
Unable to find a version of the runtime to run this application.
mscoree.dll looked for the runtime the program asks for and found none, or the program's configuration file names a version that is not installed. Turn on the .NET Framework features, then reinstall the program to restore its own configuration file.
Faulting module name: mscoree.dll (or mscoreei.dll), Exception code: 0xe0434352
An Event Viewer line after a crash. The program started, then hit an error that it did not handle, and the .NET loader reported it. The .NET Runtime event in the same minute names the real error; update or reinstall the program, and repair .NET Framework only if many programs crash the same way.
File facts
mscoree.dll describes itself as Microsoft .NET Runtime Execution Engine. Programs written for .NET Framework are not ordinary Windows programs: their .exe files contain .NET code that Windows hands to mscoree.dll at start. The file reads which .NET Framework version the program targets, finds that runtime and starts it, and from then on the program runs inside the runtime. It is a shim, a thin front door, which is why one copy serves every installed .NET Framework version. What Windows reports for the genuine file:
- Description in the file
- Microsoft .NET Runtime Execution Engine
- Where the genuine mscoree.dll belongs
C:\Windows\System32C:\Windows\SysWOW64- Signed by
- Microsoft Windows, with a Windows catalog signature: the file's Properties show no Digital Signatures tab, which is normal. Check it in PowerShell: Get-AuthenticodeSignature <path to the file> (Status: Valid).
On 64-bit Windows, System32 holds the 64-bit file and SysWOW64 the 32-bit one used by 32-bit .NET programs; the folder names are historical. The runtime itself lives elsewhere, in C:\Windows\Microsoft.NET\Framework and Framework64, where mscoreei.dll, the version-specific part of the loader, sits in each runtime's own folder. In Windows 11 24H2 and 25H2 the 64-bit mscoree.dll is 430,080 bytes and the 32-bit file 327,168 bytes; in Windows 10 22H2 they are 383,488 and 314,880 bytes. Windows signs the file through a catalog, so Properties may show no Digital Signatures tab even on the genuine copy.

mscoree.dll versions by Windows release
Every Windows release has its own build of mscoree.dll. Unlike most system files, it changes rarely: many releases still carry the build from their first image. Winbindex lists 31 distinct Microsoft builds; the table shows the newest one indexed for each release and the update that delivered it.
| Windows release | File version | Delivered by | Size, 64-bit |
|---|---|---|---|
| Windows 11 26H1 | 10.0.28000.1896 | KB5127646, October 13, 2026 | 434,176 bytes |
| Windows 11 25H2 | 10.0.26100.3624 | KB5127648, October 13, 2026 | 430,080 bytes |
| Windows 11 24H2 | 10.0.26100.3624 | KB5127648, October 13, 2026 | 430,080 bytes |
| Windows 11 23H2 | 10.0.22621.1 | original release | 421,888 bytes |
| Windows 11 22H2 | 10.0.22621.1 | original release | 421,888 bytes |
| Windows 11 21H2 | 10.0.22000.1 | original release | 405,504 bytes |
| Windows 10 22H2 | 10.0.19041.1 | original release | 383,488 bytes |
| Windows 10 21H2 | 10.0.19041.1 | original release | 383,488 bytes |
| Windows 10 21H1 | 10.0.19041.1 | original release | 383,488 bytes |
| Windows 10 20H2 | 10.0.19041.1 | original release | 383,488 bytes |
| Windows 10 2004 | 10.0.19041.1 | original release | 383,488 bytes |
| Windows 10 1909 | 10.0.18362.1 | original release | 378,368 bytes |
Older copies of mscoree.dll found on PCs
Public DLL catalogues have collected 16 copies of mscoree.dll uploaded from PCs, from version 1.0.3705.0 to 10.0.14393.0. The 1.x, 2.x and 4.x numbers come from .NET Framework installers for Windows XP, Vista and 7, when the file was installed with .NET Framework instead of with Windows. The table lists each with its checksums, so you can tell which one you have.
None of these replaces the file your Windows ships: the newest build indexed for Windows is 10.0.28000.1896, and each release keeps its own. If the check on this page finds your file in this list, it is most likely an old copy left in a program folder or downloaded by hand. Remove the copy, and let Windows use its own.
| Version | Build | Size | MD5 | SHA-1 |
|---|---|---|---|---|
10.0.14393.0 | 64-bit | 379 KB | 5ece402d7e12ec3750d044bf3d878df6 | 633704576029be229d7ab7283f0262e3d918c94b |
10.0.14393.0 | 32-bit | 328 KB | 2582aa6c1f88d34b37b7f82d790d232e | 9483134bdc54bc6b26fe1b63a75b6b2b2ec713a8 |
10.0.10586.0 | 64-bit | 389 KB | bf6d1e0380480749e2a66afbe8988d56 | 70c6dce9ae6701212bf0c0e038878fad9539e005 |
10.0.10586.0 | 32-bit | 328 KB | 9389364c6c0521dc2f97a8783a4a854b | 95dbdc01a2b6efdaffccd53550e3d3f255bcbde5 |
6.3.9600.16384 | 64-bit | 379 KB | 2a857ccafe18b1d396484ac9cc0b9b80 | c4d9cf041b14b9a399763674c6bedda10c83e848 |
6.3.9600.16384 | 32-bit | 317 KB | 84f20198cae435de32abdb4511550bd7 | ccb2b5d875e9d0e78bf6140d19051362663545fd |
4.0.41209.0 | 64-bit | 430 KB | cca14076376d8d0161ba4edc5a2ca81c | f19445393c4aa719c881b6b4407fd61e9c588d70 |
4.0.41209.0 | 32-bit | 287 KB | 2837c8a01729407765cbcd4ec0645063 | 07407b5917e8942f515b245b5ef72d5f5e85519f |
4.0.40305.0 | 64-bit | 430 KB | a08c010d859f8eb42bdd7e1d55b8ca27 | 120d2f9208937f6cac9528813b5b470ba89ace3b |
4.0.40305.0 | 32-bit | 287 KB | d83947a58613e9091b4c9cc0f1546a8d | 2dbb7102100ce02a49df1b4fc423c31385f9c1cd |
4.0.31106.0 | 64-bit | 430 KB | 72ab6633e9b39ec7febedf083a9061e5 | 774c6bf77d1792c7125ca667876a87f7bc1620c7 |
4.0.31106.0 | 32-bit | 287 KB | 128dd9af8640dbcc711940903c8b554f | 437703d6916457b7b7e6367cb285fdd952cbe550 |
4.0.20428.1 | 32-bit | 287 KB | 94fbf6d542f3c115ac362ca2b2443172 | 272f0927cca1b8e46732d07c6edaf064c09c2818 |
2.0.50727.4927 | 64-bit | 389 KB | e57022a90673a3c9183c50c90ec349d7 | 8046b8a645ddf35b9dbf9c7fa3fffec7d65c7972 |
2.0.50727.42 | 32-bit | 266 KB | d2a148405ddb3c1f6f3a68d4e1ae012d | c3151df1ef2c327ad4a093d93e07efef57271488 |
1.0.3705.0 | 32-bit | 133 KB | ae30494155fc06b63a0410740a18e676 | 48c837a2e6495dfa7278171d596ef4b89e73a2b5 |
Copies uploaded by users to a public DLL catalogue, read on 17 October 2026. We list their checksums so you can identify a file; we do not offer them for download and we did not verify each one against Microsoft's signature.
Questions people ask
What is mscoree.dll?
It is the Microsoft .NET Runtime Execution Engine, the loader that starts programs written for .NET Framework. When you open such a program, Windows passes it to mscoree.dll, which finds the .NET Framework version the program needs and runs the program inside it. Windows 10 and 11 include the file in System32 and SysWOW64.
Can I download mscoree.dll to fix the error?
No. The file is part of Windows and only opens the door to .NET Framework. If the runtime is missing or switched off, a downloaded mscoree.dll still cannot start the program. Turn on .NET Framework in Windows Features, update Windows and run sfc /scannow. Download a genuine copy only to compare it with a file you have.
Which .NET Framework does my program need?
Its error message often lists the version. Programs for .NET Framework 2.0, 3.0 and 3.5 need the .NET Framework 3.5 feature turned on. Programs for 4.0 to 4.8 run on the .NET Framework 4.8 that Windows 10 and 11 include. A program that needs .NET 6, 8 or later is a different product with its own download from Microsoft.
Why does turning on .NET Framework 3.5 fail?
Windows downloads the feature from Windows Update, so it fails when the PC is offline, when updates are blocked by a policy or a pending restart, or when the component store is damaged. Restart, install pending updates, run DISM /Online /Cleanup-Image /RestoreHealth in an administrator Command Prompt, then turn the feature on again.
What is the difference between mscoree.dll and mscoreei.dll?
mscoree.dll in System32 is the shared shim every .NET Framework program goes through. Once it knows the version the program needs, it loads mscoreei.dll from that runtime's folder under C:\Windows\Microsoft.NET. That is why crash reports sometimes name mscoreei.dll; the fix is the same: read the .NET Runtime event and fix the program.
Does mscoree.dll matter for games?
Only for games and launchers built on .NET Framework, which includes many older tools, mod managers and game launchers. A launcher that stops with an mscoree.dll error needs .NET Framework, not a new DLL. Under Wine or Proton on Linux, the same error means the Wine prefix has no .NET runtime installed.
Is mscoree.dll a virus?
The copies in System32 and SysWOW64 are genuine Windows files that every .NET Framework program needs. The name has been abused: security researchers have documented malware that planted its own mscoree.dll next to a Microsoft .NET program so that program would load it. A copy in any other folder is not Windows' file: check it with the tool on this page and read the security page linked above.
Related guides
mscoree.dll not found or failing: how to fix the .NET Framework error
Sources
- Winbindex, the Windows binaries index (m417z)
- Microsoft Learn: Use the System File Checker tool to repair missing or corrupted system files
- HijackLibs: mscoree.dll
File data read on October 17, 2026.
The editors who write and check uGetFix guides and reference pages. File facts are read from Microsoft's own installers and documentation, and every page shows the date its data was read.
Questions and experiences
Ask about this page: members and our editors answer. Reading is open; writing needs a free account.
…