Program file
msvcr71.dll: Microsoft's old C runtime, or a file that only carries the name?
msvcr71.dll is the Microsoft C Runtime Library of Visual Studio .NET 2003. Windows has no copy of its own: old programs built with that compiler bring it and keep it next to their .exe. A copy inside a program you installed is normal. A copy in Downloads, Temp or AppData, or one that names another company, needs checking.
Prefer to check it yourself? The manual checks follow.
An msvcr71.dll next to the .exe of a program you installed, describing itself as Microsoft C Runtime Library from Microsoft Corporation with a file version starting with 7.10, is the genuine runtime. It is not a process: the program loads it at start-up. Several copies on one PC are expected, one per old program that uses it.
Because no Microsoft package installs it, nothing on Windows keeps track of msvcr71.dll, and any program can drop a file under that name. A copy in a folder where no installed program lives, or one that reports another company in its Details, is not Microsoft's runtime and came with something you should identify.
- Publisher
- Microsoft Corporation
- Description in the file
- Microsoft C Runtime Library, file version 7.10.x
- Belongs to
- Visual Studio .NET 2003 (MSVC 7.1), a compiler release Microsoft lists as end of life. Programs built with it ship the file; Java 6 kept a copy in its bin folder
- Genuine folder
- The folder of the program that uses it, usually under C:\Program Files (x86), sometimes a game's bin folder. Older installers also left copies in C:\Windows\SysWOW64
- Size
- 346,030 or 356,515 bytes across the Microsoft copies collected in a public DLL catalogue, all 32-bit
- Installed by Windows
- No. No Visual C++ Redistributable package contains it; Microsoft's list of packages starts with Visual Studio 2005
- Runs as a process
- No. It is a library loaded into the program that uses it
- Companion files
- msvcp71.dll (C++ library) and mfc71.dll (MFC library) from the same compiler, often in the same folder
What msvcr71.dll does
msvcr71.dll is the C runtime library of Microsoft's C and C++ compiler version 7.1, the one in Visual Studio .NET 2003. A program built with that compiler calls it for the basic work of the C language: allocating memory, opening and reading files, formatting text, converting numbers and doing maths. The C++ standard library of the same release is msvcp71.dll, and the MFC user interface library is mfc71.dll.
Microsoft's list of Visual C++ Redistributable packages begins with Visual Studio 2005, so there was never a shared package that installs msvcr71.dll for every program. Each program carried its own copy and put it next to its .exe, where Windows looks first. That is why the file is found in many different folders, why Windows does not repair it, and why its name alone says nothing about the file: a genuine copy is identified by where it sits and what it reports about itself.
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 to check a copy of msvcr71.dll
Four questions decide it: where the file is, what it says about itself, how big it is, and whether it is signed. A library never shows in Task Manager under its own name, so use these checks instead.
- List every copy and where it sits. Copies next to the .exe of an old program you installed, in a game's bin folder or in C:\Windows\SysWOW64 are normal. Look closer at copies in Downloads, Desktop, Temp, AppData or ProgramData, and at a copy next to an .exe with a random name.
Get-ChildItem -Path C:\ -Filter msvcr71.dll -Recurse -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime - Read the version resource. Microsoft's file reports Microsoft Corporation as the company, Microsoft C Runtime Library as the description and a file version that starts with 7.10. One copy in the public catalogue reports another company and an audio effects description under the msvcr71.dll name: a file like that is not Microsoft's runtime.
(Get-Item "C:\path\to\msvcr71.dll").VersionInfo | Format-List CompanyName, FileDescription, FileVersion - Compare the size. The Microsoft copies in the catalogue are 346,030 or 356,515 bytes. A file far from those sizes is a different file, whatever its version fields say. Use the file check on this page to compare the checksum with the known copies.
(Get-Item "C:\path\to\msvcr71.dll").Length - Check the digital signature. Status Valid with a Microsoft signer means an unmodified Microsoft file. An older build may carry no signature of its own, so NotSigned alone does not prove a fake. HashMismatch or a signer that is not Microsoft does mean the file is not Microsoft's as shipped.
Get-AuthenticodeSignature "C:\path\to\msvcr71.dll" | Format-List Status, SignerCertificate - Find the program it belongs to. Look at the other files in the same folder. A genuine copy sits beside the .exe of a program you can name, often with msvcp71.dll or mfc71.dll. A lone runtime in a folder with no program, or beside a program you never installed, is the reason to keep looking.
A copy that passes these checks clears that one file. It says nothing about the program that brought it: if that program is one you do not recognise, the program is what needs checking.

Check your msvcr71.dll
Choose the msvcr71.dll you are unsure about. Its SHA-256 and SHA-1 checksums are calculated in your browser and compared with the 9 versions of the file known from a public DLL catalogue.
The file stays on your computer. Nothing is uploaded: the checksum is computed locally.
Do you need msvcr71.dll?
Keep every copy inside an old program you use: without it that program does not start. A copy that failed the checks above came with something else, and the safe way out is to remove that program, not only the DLL.
- Leave copies in your programs alone. A copy next to the .exe of a program you installed belongs to that program. Deleting it only stops the program from starting, and nothing on Windows puts it back except that program's own installer.
- Remove old programs you no longer use. Open Settings, Apps, Installed apps, find the program and uninstall it. The program's copy of msvcr71.dll goes with it. A copy in C:\Windows\SysWOW64 left by an older installer can stay: removing it gains nothing.
- Uninstall a program you do not recognise. If the copy that failed the checks sits beside a program you never installed, uninstall that program from Installed apps. If it has no uninstaller, note the folder path, then delete the whole folder after the scan below, not only the DLL.
- Run a Microsoft Defender full scan. Open Windows Security, Virus and threat protection, Scan options, Full scan. Quarantine what it finds, then look at Protection history for anything found in Downloads, Temp or AppData.
- Run the offline scan. Some malware hides while Windows runs. The offline scan restarts the PC and scans before Windows starts. It takes about 15 minutes.
Start-MpWDOScan - Check what starts with Windows. Open Task Manager, Startup apps, and Task Scheduler. After the scan, disable and remove entries that run a program from AppData, ProgramData or Temp that you do not recognise.
Warning signs
| What you see | What it means |
|---|---|
| msvcr71.dll in Downloads, Desktop, Temp, AppData or ProgramData | No installed program loads it there. Find out what put it there and scan. |
| The Details tab shows a company other than Microsoft Corporation | A different file carrying the runtime's name, not Microsoft's msvcr71.dll. |
| A size far from 346,030 or 356,515 bytes | Not one of the known Microsoft copies. Check the version resource and the folder. |
| The signature check shows HashMismatch or a signer that is not Microsoft | The file was changed after it was built, or is not Microsoft's at all. |
| A lone msvcr71.dll next to an .exe with a random name | A dropped program that brought its own runtime. Identify that .exe before anything else. |
| Several copies, each beside an old program's .exe | Normal. Each program built with Visual Studio .NET 2003 ships its own copy. |
Known versions of msvcr71.dll
A public DLL catalogue lists 9 versions of msvcr71.dll, from 1.0.9.813 to 7.10.7031.4, 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 msvcr71.dll errors on uGetFix
Questions people ask
Is msvcr71.dll a virus?
No, Microsoft's msvcr71.dll is a harmless runtime library that old programs ship in their own folders. Because no Windows package installs or tracks it, any program can bring a file under that name, so the name alone proves nothing either way. A copy beside a program you installed, reporting Microsoft Corporation and a 7.10 version, is the genuine file. A copy elsewhere needs the checks on this page.
Why is msvcr71.dll on my PC if Windows does not use it?
A program you installed brought it. Programs built with Visual Studio .NET 2003 need the runtime and, with no Microsoft package to install it, carry their own copy. Older Java 6 installations, older games and older business tools are typical. Look at the folder it sits in: the program next to it is the one that uses it.
Why are there several copies of msvcr71.dll?
Each old program that needs the runtime keeps its own copy in its own folder, and some older installers also dropped one into C:\Windows\SysWOW64. Five old programs can mean five copies. That is by design. What matters is that each copy sits beside a program you can name and reports Microsoft as its company, not how many there are.
Can I delete msvcr71.dll?
You can, but the program it belongs to stops starting, and Windows does not restore the file. Deleting a copy that sits in one of your programs gains nothing. If the copy failed the checks and sits beside a program you do not recognise, uninstall that program and run a Microsoft Defender full scan rather than deleting only the DLL.
My msvcr71.dll is not signed. Is it fake?
Not necessarily. An older build may carry no signature of its own, so a missing signature alone is no proof. Look at the other checks: the folder, the company and description in the Details tab, the 7.10 file version and the size. A HashMismatch result or a signer that is not Microsoft is a real warning sign.
A file named msvcr71.dll reports another company. What is it?
It is not Microsoft's runtime. A public DLL catalogue holds at least one such copy, with a different company and an audio effects description. A program may simply have reused the name, or something may be hiding under it. Find the program in the same folder: if you know it and installed it, it is that program's file; if not, uninstall it and scan.
Sources
- Microsoft Learn: Microsoft C++ (MSVC) compiler versioning (Visual Studio .NET 2003, 7.1, end of life)
- Microsoft Learn: Latest supported Visual C++ Redistributable downloads (packages from Visual Studio 2005 on)
- OpenJDK bug JDK-6651964: Java 6 update removes jre6\bin\msvcr71.dll
- MITRE ATT&CK T1574.001: Hijack Execution Flow: DLL
- Microsoft Learn: Get-AuthenticodeSignature
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.
…