Windows file

mscoree.dll: the genuine .NET Framework loader, or a planted copy?

mscoree.dll is the Microsoft .NET Runtime Execution Engine, the Windows file that starts every program written for .NET Framework. The copies in System32 and SysWOW64 are genuine and safe. A mscoree.dll anywhere else, especially next to a copied Microsoft .NET program such as AppLaunch.exe, is not Windows' file: attackers have planted it there so a trusted program runs their code.

Prefer to do it yourself? The manual steps follow.

Genuine Windows file

mscoree.dll in C:\Windows\System32 (and C:\Windows\SysWOW64 on 64-bit Windows) is a genuine Microsoft file and is safe. Every .NET Framework program on the PC goes through it at start, so do not delete, rename or quarantine it: those programs would stop opening.

A program looks in its own folder before System32 for many DLLs, mscoree.dll included. That is why a copy beside a program's .exe gets loaded and run inside that program. Malware has used this with Microsoft's own AppLaunch.exe. Check the folder, the signature and the hash of any copy outside the Windows folders.

Description in the file
Microsoft .NET Runtime Execution Engine
What it is
The shim that starts .NET Framework programs: it reads which runtime version a program targets, loads that runtime and hands the program over to it
Genuine folders
C:\Windows\System32\mscoree.dll and, on 64-bit Windows, C:\Windows\SysWOW64\mscoree.dll for 32-bit programs
Not genuine by location
Any mscoree.dll in Downloads, Temp, AppData, ProgramData, a user folder or next to a program's .exe. Windows never puts it there
Size of the genuine file
Windows 11 24H2 and 25H2: 430,080 bytes (64-bit), 327,168 bytes (32-bit). Windows 10 22H2: 383,488 bytes (64-bit), 314,880 bytes (32-bit)
Newest indexed build
Windows 11 26H1: 10.0.28000.1896, delivered by KB5127646 on 13 October 2026
Known Microsoft builds
31 builds across 20 Windows releases in Winbindex
Signature
Signed by Microsoft Windows through a Windows catalog, so the Properties window may show no Digital Signatures tab
Is it a process
No. It is a library loaded into every running .NET Framework program, so it never appears on its own in Task Manager

What mscoree.dll does, and why a copy outside Windows is a warning sign

Programs written for .NET Framework do not contain ordinary machine code alone. When you start one, Windows sees that its .exe is a .NET program and passes it to mscoree.dll. The file reads which .NET Framework version the program was built for, loads the matching runtime from C:\Windows\Microsoft.NET, and from then on the program runs inside that runtime. Because one small loader serves every installed .NET Framework version, it sits in the Windows folders and not in each runtime folder.

On Windows 10 and Windows 11, mscoree.dll is part of Windows itself and is updated with Windows. On Windows XP, Vista and 7 it arrived with .NET Framework installers, which is why old copies numbered 1.x, 2.x and 4.x still turn up in program folders and on download sites. None of those belongs on a modern PC.

The file name is also useful to attackers. HijackLibs, a public list of DLL names that legitimate programs can be made to load from the wrong folder, records mscoree.dll for three Microsoft programs: aitstatic.exe and PresentationHost.exe from System32, and AppLaunch.exe from the .NET Framework folder. Copy one of those programs to another folder, put a file called mscoree.dll beside it, and the program loads that file instead of Windows' copy. The attacker's code then runs inside a program that carries a valid Microsoft signature.

So the question is not whether mscoree.dll is a virus, but which copy you are looking at. The two in System32 and SysWOW64 are Microsoft's. A copy beside a Microsoft .NET program outside C:\Windows, or in a user folder, is whatever the person who put it there made it to be.

About .dll files. A .dll file is a library: it cannot run on its own and is loaded into a program's process. It does not appear in Task Manager under its own name; Process Explorer shows which process loaded it.

How a copied AppLaunch.exe loads a planted mscoree.dll from its own folder instead of the genuine file in System32
In its own folder AppLaunch.exe uses Windows' copy; copied elsewhere, it loads whatever mscoree.dll sits beside it.

How to tell Windows' mscoree.dll from a planted copy

A DLL does not show up in Task Manager as a process, so use the folder, the file properties, PowerShell or Process Explorer.

  1. Where the file is. List every copy with the command below. C:\Windows\System32 and C:\Windows\SysWOW64 are Windows' copies, and files inside C:\Windows\WinSxS are Windows' stored originals. Every other path needs a closer look, and a copy with AppLaunch.exe, PresentationHost.exe or aitstatic.exe beside it outside C:\Windows is the documented abuse pattern.
    Get-ChildItem C:\ -Recurse -Filter mscoree.dll -ErrorAction SilentlyContinue | Where-Object FullName -notlike 'C:\Windows\WinSxS*' | Select-Object FullName, Length, @{n='Description';e={$_.VersionInfo.FileDescription}}
  2. The Description field and the size. Right-click the file, Properties, Details. The genuine file says Microsoft .NET Runtime Execution Engine, with Microsoft Corporation as the company and a Windows version number such as 10.0.26100. Its size matches a Windows release in the facts table. A planted copy can borrow these fields, so this check only rules files out, it never proves a file genuine.
  3. The digital signature. Windows signs mscoree.dll through a catalog, not inside the file, so Properties often shows no Digital Signatures tab even for the genuine copy. PowerShell reads catalog signatures too. Valid with a Microsoft signer means genuine; NotSigned or another signer on a copy outside the Windows folders means it is not Windows' file.
    Get-AuthenticodeSignature 'C:\path\to\mscoree.dll' | Format-List Status, SignatureType, SignerCertificate
  4. What is next to it. Open the folder that holds the suspicious copy. A Microsoft .NET program there, such as AppLaunch.exe, together with extra files of unclear purpose (a second mscoree.dll.mui, an encrypted data file, a random-named .dat), matches how loaders have been delivered. Note the folder and the file dates before you delete anything.
  5. Which copy a program really loaded. Open Process Explorer from Microsoft Sysinternals, choose Find, Find Handle or DLL, type mscoree.dll and press Search. Every .NET program lists it. A path under System32 or SysWOW64 is normal; any other path means that process loaded a copy that Windows did not provide.
  6. Compare the hash with Microsoft's builds. Use the checker on this page: it computes the SHA-256 in your browser and compares it with the 31 known Microsoft builds. A copy outside the Windows folders that matches is a genuine but misplaced file; one that does not match is a third-party file.

A match to a Microsoft build proves the file is Microsoft's, but not that its place is harmless: a genuine copy can be used to set up a trap for a planted one. A file that does not match is not automatically malicious, since old .NET Framework copies from download sites do not match either. What decides is where it sits and what sits beside it.

Genuine mscoree.dll compared with a planted copy: folder, neighbouring program, Description, size, signature and hash
The folder, the program beside it, the signature and the hash tell Windows' mscoree.dll from a planted one.

Check your mscoree.dll

Choose the mscoree.dll you are unsure about. Its SHA-256 checksum is calculated in your browser and compared with the 47 Microsoft builds indexed from Windows releases and updates.

or drop the file here

The file stays on your computer. Nothing is uploaded: the checksum is computed locally.

Warning signs and what they mean

What you seeWhat it means
mscoree.dll in a folder together with AppLaunch.exe, PresentationHost.exe or aitstatic.exe, outside C:\WindowsThe pattern HijackLibs records for this name: a Microsoft program copied away from its home so it loads the mscoree.dll beside it. Treat the folder as malicious until checked.
mscoree.dll in AppData, ProgramData, Temp or a folder with a random nameNo installer of Windows or .NET Framework puts the file there. A copy in a user writable folder has no normal reason to exist.
A process called AppLaunch.exe running from somewhere other than C:\Windows\Microsoft.NETThe genuine AppLaunch.exe lives in the .NET Framework folders. Running from another folder, it is likely a copy started to load a planted DLL.
A mscoree.dll that says Microsoft but has no valid Microsoft signatureA file that imitates Windows' copy. Legitimate tools do not need to pretend to be Microsoft.
Outgoing connections from a Microsoft .NET program you did not startSide-loaded backdoors run inside the trusted program, so its name appears in the firewall log or in Resource Monitor. Check its folder.
Security software names mscoree.dll in System32 or SysWOW64Rare. Compare the hash with the checker on this page and run Microsoft Defender's offline scan before anything else; do not delete Windows' own copy.

How attackers have used the name mscoree.dll

One published report names a malicious mscoree.dll. The genuine Microsoft file was not changed: the attackers shipped their own DLL under this name for a Microsoft program to load.

MalwareHow it used the fileSource
ShadowPad backdoorSecureworks Counter Threat Unit researchers list Microsoft's AppLaunch.exe among the legitimate programs used to side-load ShadowPad, with mscoree.dll as the loader file name. One sample they analysed used AppLaunch.exe followed by mscoree.dll and a mscoree.dll.mui file.Secureworks CTU, ShadowPad malware analysis (page dated 27 November 2025)

MITRE ATT&CK lists this as Hijack Execution Flow: DLL Side-Loading (T1574.002). On a home PC the useful test is the folder, the program beside the file and the signer, not the name: a malicious mscoree.dll keeps the genuine file name.

Programs that have been made to load a fake mscoree.dll

Each program below is genuine and signed, and security researchers have documented that it can be made to load a planted mscoree.dll. Usually the attacker copies the program into another folder and puts a fake mscoree.dll next to it: Windows looks in the program's own folder first. A mscoree.dll next to one of these programs, outside the folders below, is the copy to check.

Where the genuine mscoree.dll belongs: C:\Windows\System32C:\Windows\SysWOW64

The genuine mscoree.dll is signed by: Microsoft Windows, a Windows catalog signature (Properties shows no Digital Signatures tab; check it with Get-AuthenticodeSignature)

ProgramHow
C:\Windows\System32\aitstatic.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\presentationhost.exe
signed by Microsoft Windows
Side-loading
C:\Windows\Microsoft.NET\Framework\v<version>\applaunch.exeSide-loading

Source: the HijackLibs entry for mscoree.dll, 5 public reports.

Everyday questions about mscoree.dll

Two mscoree.dll files are in the Windows folders

That is normal on 64-bit Windows: System32 holds the 64-bit library and SysWOW64 the 32-bit one. Both are genuine Microsoft files with different sizes and hashes, and more copies under C:\Windows\WinSxS are Windows' stored originals.

Copies of mscoreei.dll under C:\Windows\Microsoft.NET\Framework and Framework64 are a different, related file: the version-specific part of the loader, one for each runtime.

An old program folder contains its own mscoree.dll

Some old installers dropped a copy of the .NET Framework loader into their own folder. It is not needed on Windows 10 or 11 and can only cause the program to load an outdated file.

Check it with the hash checker and the signature command above. A Microsoft copy there can be deleted; one that matches nothing and is not signed by Microsoft deserves a full scan.

A program says mscoree.dll is missing

That is a repair question, not a security one. On Windows 10 and 11 the file is part of Windows, so the error usually means .NET Framework is switched off or damaged. The repair is covered on the error page for this file; do not download a replacement from a DLL site.

mscoree.dll versions by Windows release

The newest build indexed for each release, and the update that delivered it. 31 Microsoft builds in total are known.

Windows releaseFile versionDelivered bySize, 64-bit
Windows 11 26H110.0.28000.1896KB5127646, Oct 13, 2026434,176 bytes
Windows 11 25H210.0.26100.3624KB5127648, Oct 13, 2026430,080 bytes
Windows 11 24H210.0.26100.3624KB5127648, Oct 13, 2026430,080 bytes
Windows 11 23H210.0.22621.1original release421,888 bytes
Windows 11 22H210.0.22621.1original release421,888 bytes
Windows 11 21H210.0.22000.1original release405,504 bytes
Windows 10 22H210.0.19041.1original release383,488 bytes
Windows 10 21H210.0.19041.1original release383,488 bytes
Windows 10 21H110.0.19041.1original release383,488 bytes
Windows 10 20H210.0.19041.1original release383,488 bytes

Known versions of mscoree.dll

A public DLL catalogue lists 16 versions of mscoree.dll, from 1.0.3705.0 to 10.0.14393.0, by Microsoft Corporation. Its copies are uploaded by users and not verified, so a checksum match identifies the version, while the digital signature tells you whether the file is genuine. Even a genuine file clears only the file, not the folder: attackers ship genuine libraries next to a program they abuse, so where the copy sits still decides whether it is safe.

Every version with its checksums, and how to fix mscoree.dll errors on uGetFix

Questions people ask

Is mscoree.dll a virus?

No, not the Windows copy. mscoree.dll is the Microsoft .NET Runtime Execution Engine, and the files in System32 and SysWOW64 are genuine Windows libraries that every .NET Framework program needs. A mscoree.dll in another folder is a different file with the same name. ShadowPad, a backdoor, has used that name with Microsoft's AppLaunch.exe, so check any copy outside the Windows folders.

Can I delete mscoree.dll?

Not the copies in System32 or SysWOW64. Without them no .NET Framework program on the PC starts, and Windows treats them as protected files that System File Checker restores. A copy outside the Windows folders is never needed by Windows: check it first, keep a note of where it was, then delete it or let Microsoft Defender remove it.

Why would malware be called mscoree.dll?

Because Microsoft's own .NET programs load it, and some of them look in their own folder first. An attacker copies such a program, for example AppLaunch.exe, to a new folder and puts a malicious mscoree.dll beside it. The signed Microsoft program then runs the attacker's code, which helps it look trustworthy to people and to some security tools.

What is AppLaunch.exe, and why does it matter here?

AppLaunch.exe is a small Microsoft program that comes with .NET Framework and lives in the Framework folders under C:\Windows\Microsoft.NET. It loads mscoree.dll like every .NET program. Researchers have found ShadowPad delivered as a copy of AppLaunch.exe with a malicious mscoree.dll beside it, so AppLaunch.exe running from any other folder is a warning sign.

How do I check if my mscoree.dll is genuine?

Check three things. The folder: only System32 and SysWOW64 hold Windows' copy, plus stored originals in WinSxS. The signature: Get-AuthenticodeSignature in PowerShell shows Valid with a Microsoft signer for the genuine file, even when Properties shows no signature tab. The hash: the checker on this page compares the SHA-256 with 31 known Microsoft builds.

Is mscoree.dll in a game or mod folder dangerous?

Games and mod tools have no need for their own copy, because Windows provides it. Some very old installers left one behind, and that copy is only outdated. A copy that does not match any Microsoft build, is not signed by Microsoft, or came with a repack or cracked game should be treated as suspicious and scanned.

What is the difference between mscoree.dll and mscoreei.dll?

mscoree.dll in System32 is the shared loader every .NET Framework program goes through. Once it knows which runtime version a program needs, it loads mscoreei.dll from that runtime's folder under C:\Windows\Microsoft.NET. Both are Microsoft files in their own places; either one outside those folders deserves the same checks.

Sources

Version data read on Oct 17, 2026.

Questions and experiences

Ask about this page: members and our editors answer. Reading is open; writing needs a free account.

0 comments

…

5,584 members already hereReading, writing, commenting and voting. 0 verified · 309 joined this year