mfc140u.dll is missing or will not load: the MFC library and how to restore it

mfc140u.dll is the Unicode build of Microsoft Foundation Classes (MFC), the library behind many desktop programs with classic menus, toolbars and dialog boxes. Windows does not supply it to programs. It is part of the Microsoft Visual C++ Redistributable, so you restore it by installing or repairing that package from Microsoft rather than by hunting for the single file.

Prefer to fix it yourself? The manual steps follow.

Download mfc140u.dll the official way

14.51.36247.0

Install the current Microsoft Visual C++ Redistributable (version 14.51.36247.0). Along with the C++ runtime it installs the MFC libraries, mfc140u.dll among them, into the Windows folders that programs search, and records them so that the next update or repair can replace them.

On a 64-bit PC you usually need two packages, x64 and x86. Many MFC programs, especially older tools and device utilities, are 32-bit and look only for the 32-bit mfc140u.dll. With the x64 package alone they still report the file as missing.

“DLL files only” is meant for a program that wants its runtime next to its .exe, or for a PC where the installer will not run: mfc140u.dll plus the Visual C++ runtime files it needs (version 14.51.36247.0), taken unchanged from Microsoft's installer. Downloading needs a free uGetFix account. Sign in or register, which takes about a minute, and you come back to this page.

We fetched these installers from Microsoft on October 14, 2026 and opened them to read the files they contain. Each download page states the installer's size and SHA-256 checksum, so you can confirm that what you saved is the same file. The installers come from Microsoft's own server (aka.ms).

Which official Visual C++ installer restores mfc140u.dll for 32-bit, 64-bit and ARM64 MFC programs, and why most PCs need two
Match the program, not Windows: many MFC programs are 32-bit and need the x86 package even on a 64-bit PC.

Step by step

  1. Find out whether the program is 32-bit or 64-bit. Start it, open Task Manager, Details, right-click a column header, Select columns and tick Platform. If the program does not start at all, look at its folder: a path under C:\Program Files (x86) usually means a 32-bit program.
  2. Install the matching package, and on 64-bit Windows also the other one. Run vc_redist.x86.exe and vc_redist.x64.exe from the links above. Installing both costs nothing and covers every MFC program on the PC, whatever its build. Restart if the installer asks, then open the program.
  3. Already installed: repair it. Open Settings, Apps, Installed apps, find “Microsoft Visual C++ 2015-2022 Redistributable” or “Microsoft Visual C++ v14 Redistributable”, choose Modify and then Repair. Do this for the x86 entry and the x64 entry. Repair writes fresh MFC files without touching the programs that use them.
  4. An “ordinal” error: update, do not hunt for files. If the message says an ordinal could not be located in mfc140u.dll, the file is there but older than the program expects. Install the current packages above; the newer mfc140u.dll contains every entry point the older ones had.
  5. Only one program fails: check what it carries. Some programs keep mfc140u.dll in their own folder, and Windows loads that copy first. If it is old or damaged, the program fails no matter what is in System32. Reinstall or update that program, or ask its maker whether it supports the Visual C++ 2015-2022 runtime.

What not to do

Do not take mfc140u.dll alone from a DLL download site.

MFC files come in a set: the Unicode and ANSI libraries, their language resources and the C++ runtime under them. A lone file gives you one piece of an unknown version, and nothing replaces it when Microsoft ships an update. Unverified copies are also how altered libraries reach a PC. If a program needs loose files, use “DLL files only” above, and to judge a copy you already have, use the checker below.

Do not replace mfc140u.dll with mfc140.dll, or the other way round.

The names look alike, but they are two different libraries with different entry points. A program built for one cannot use the other, so renaming a file only changes the error message.

Do not run regsvr32 on mfc140u.dll.

It is a class library that programs link to, not a COM server, so there is nothing to register. regsvr32 fails and the original error stays.

Do not paste it into System32 or SysWOW64 by hand.

A file placed manually is unknown to the installer. A later repair may not overwrite it, and a 64-bit file in SysWOW64 or a 32-bit file in System32 produces a new error that is harder to trace than the first.

Check the copy on your PC

Choose the mfc140u.dll you want to check. Your browser calculates its checksums and compares them with 21 builds we know: the files in the current official redistributable, the builds indexed from Windows images and the older versions found on PCs.

or drop the file here

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

1 genuine programs have been documented loading a planted copy of mfc140u.dll. Seeing mfc140u.dll in Temp, Downloads, AppData or next to a program you do not recognise? That is a question of whether the copy is genuine, not of a missing file. How to tell if mfc140u.dll is malware, on 2-Spyware

The error messages and what each one means

Programs and Windows describe an mfc140u.dll problem in several ways. Each wording points to a different cause, so read yours before you act.

The five mfc140u.dll error messages, including the ordinal error, what each one means and the fix for each
Not found, ordinal, not designed to run, or a crash: each message has its own fix.
The code execution cannot proceed because mfc140u.dll was not found. Reinstalling the program may fix this problem.

Shown by Windows 10 and Windows 11 when no mfc140u.dll of the program's build exists anywhere Windows looks. Install the redistributable; on 64-bit Windows install x86 and x64.

The program can't start because mfc140u.dll is missing from your computer. Try reinstalling the program to fix this problem.

The older wording of the same problem, from Windows 7 and Windows 8. The redistributable fixes it the same way.

The ordinal [number] could not be located in the dynamic link library MFC140U.dll.

MFC programs call the library's functions by number. This message means the program asked for a number the installed mfc140u.dll does not have, because that file is older than the one the program was built with. Install the current redistributable. If the program keeps its own old copy in its folder, update or reinstall the program.

mfc140u.dll is either not designed to run on Windows or it contains an error. Error status 0xc000012f.

Windows found a file with this name and could not load it. Typical causes are a 64-bit file where a 32-bit one is needed, a truncated download or a damaged disk sector. Repair both redistributable packages, then remove any hand-copied mfc140u.dll from the program's folder.

Faulting module name: mfc140u.dll

An Application log entry in Event Viewer after a crash. mfc140u.dll loaded and the crash happened while the program was running MFC code, for example while drawing a window or handling a dialog. The program is the usual cause: update it first, and install the current redistributable so that it runs on the newest MFC fixes.

File facts for the current official version

Read from the files inside Microsoft's installers, version 14.51.36247.0. MFCDLL Shared Library - Retail Version, Microsoft Corporation.

BuildVersionSizeExported functionsSigned by
x6414.51.36247.05,597,112 bytes9,307Microsoft Windows Software Compatibility Publisher
x8614.51.36247.04,882,368 bytes9,279Microsoft Windows Software Compatibility Publisher
ARM6414.51.36247.012,122,976 bytes9,294Microsoft Corporation
SHA-256 · x64
fc5848eb58982e193cdfe73f1f26cd04fce4e196f717f42b89ae27315cd52f6f
SHA-256 · x86
c5822d9f3965a6982623c2d691df397f3e71c35f1b552f74dc24e5e7e40f07ff
SHA-256 · ARM64
8d9b990e8f2eba21ea6c5eb024fedaab828b2a0d91c31fd0c68ee4019363454f
Where the genuine mfc140u.dll belongs
C:\Program Files\CheckMAL\AppCheck

Once installed, the 64-bit mfc140u.dll sits in C:\Windows\System32 and the 32-bit one in C:\Windows\SysWOW64. Its file description reads “MFCDLL Shared Library - Retail Version”. Each build exports more than 9,000 functions: the classes MFC programs are made of, such as windows, dialog boxes, menus, toolbars, documents and views. Programs reach most of them by number (ordinal) rather than by name, which is why a version mismatch shows up as an ordinal error.

How mfc140u.dll fits between an MFC program, the Visual C++ runtime and Windows, with mfc140.dll as its ANSI twin
mfc140u.dll sits between the program and Windows, and needs only vcruntime140.dll from the Visual C++ runtime.

What mfc140u.dll itself depends on

MFC is a layer over the Windows interface, and its import table shows it. mfc140u.dll asks Windows for USER32.dll and GDI32.dll to create and paint windows, UxTheme.dll for visual styles, IMM32.dll for keyboard input in Asian languages, ole32.dll and OLEAUT32.dll for COM and drag and drop, and SHLWAPI.dll, ADVAPI32.dll and KERNEL32.dll for paths, the registry and memory. The ARM64 build adds dwmapi.dll and PROPSYS.dll. All of these are part of Windows.

From the Visual C++ runtime it needs only VCRUNTIME140.dll, and in the x64 build also VCRUNTIME140_1.dll. It does not import msvcp140.dll. So if Windows says vcruntime140.dll is missing right after you copied mfc140u.dll by hand, the copied file is fine and its runtime is what is absent; the redistributable brings both.

VCRUNTIME140_1.dllVCRUNTIME140.dllADVAPI32.dllapi-ms-win-crt-convert-l1-1-0.dllapi-ms-win-crt-filesystem-l1-1-0.dllapi-ms-win-crt-heap-l1-1-0.dllapi-ms-win-crt-math-l1-1-0.dllapi-ms-win-crt-multibyte-l1-1-0.dllapi-ms-win-crt-runtime-l1-1-0.dllapi-ms-win-crt-stdio-l1-1-0.dllapi-ms-win-crt-string-l1-1-0.dllapi-ms-win-crt-time-l1-1-0.dllapi-ms-win-crt-utility-l1-1-0.dlldwmapi.dllGDI32.dllIMM32.dllKERNEL32.dllole32.dllOLEAUT32.dllPROPSYS.dllSHLWAPI.dllUSER32.dllUxTheme.dll

The api-ms-win-crt files in the list are the Universal C Runtime, built into Windows 10 and Windows 11 and updated through Windows Update, not through the Visual C++ package.

What the redistributable installs

Runtime files of the x64 installer, version 14.51.36247.0: 13 libraries that Microsoft installs and updates as one set. mfc140u.dll is the largest of them. MFC's companions, such as the ANSI library mfc140.dll and the language resources (mfc140enu.dll, mfc140deu.dll and others), come from the same Microsoft package.

FileMicrosoft's descriptionSize
concrt140.dllMicrosoft® Concurrency Runtime Library365 KB
mfc140u.dllMFCDLL Shared Library - Retail Version5,466 KB
msvcp140.dllMicrosoft® C Runtime Library628 KB
msvcp140_1.dllMicrosoft® C Runtime Library _135 KB
msvcp140_2.dllMicrosoft® C Runtime Library _2268 KB
msvcp140_atomic_wait.dllMicrosoft® C Runtime Library _atomic_wait56 KB
msvcp140_codecvt_ids.dllMicrosoft® C Runtime Library _codecvt_ids30 KB
vcamp140.dllMicrosoft® C++ AMP Runtime408 KB
vccorlib140.dllMicrosoft ® VC WinRT core library342 KB
vcomp140.dllMicrosoft® C/C++ OpenMP Runtime208 KB
vcruntime140.dllMicrosoft® C Runtime Library174 KB
vcruntime140_1.dllMicrosoft® C Runtime Library49 KB
vcruntime140_threads.dllMicrosoft® C Runtime Library38 KB

Older versions of mfc140u.dll found on PCs

Programs that ship MFC in their own folder leave those copies behind for years, long after Microsoft has published newer builds. A public DLL catalogue holds 13 such copies, from version 14.0.23026.0 to 14.25.28508.3. The table gives the checksums of each, so you can see which one you have.

The redistributable above installs 14.51.36247.0, newer than any copy in this list. A match here usually means an old Microsoft build, but the list is not verified, so confirm the Microsoft signature too. An older mfc140u.dll is the usual reason for an ordinal error: install the current package, and update any program that keeps its own copy.

VersionBuildSizeMD5SHA-1
14.25.28508.364-bit5.4 MB3a305efd3cdd331c177b5566f5b756fb6a25ffe2590db71a66d1340e317771e7381d5161
14.25.28508.332-bit4.8 MB109e1488c848f17e370f3973efde2c387f2feb94cf7fd1378df4963316c7941067e7edc0
14.24.28127.464-bit5.5 MBc6a732f23b907bc6d37982f47f4b4453c27dd881cd6d1e3337fd5dfc0031f8975a5c44a0
14.16.27012.632-bit4.8 MB06f307b7ddb0994b448b9786cf5811b84d70c5206e84b23916e4c686f430e5dcdc70dfc3
14.14.26405.064-bit5.6 MB63f32671b2207e0ede9b813353657bb93f0f94d25da4dea37df4d163cc2dbb7c9be90f7f
14.13.26020.032-bit4.9 MB118f2bc2314ab6ea8a64d86162e38582ab5ebcd6b064dee8020979be2d6c836fe1167e31
14.12.25810.032-bit4.9 MBd6c87b75c8641349d2ce1fcd0757b6d4fc4a354d08f7b2bc8f86f577d495d2c5c7760905
14.0.24215.164-bit5.8 MBd442e95540feb1423f19563effaddfcc4068cf07722f7d71e369368cd49e0c3ea2ecd2e3
14.0.24215.132-bit4.5 MBff62af7574cba15e3192ad6a9d3d19b8892ff33d139e9b9227ae03f2934de5921c74364f
14.0.24212.064-bit5.8 MB974ca2b25b954453d7be5c793f53cc301301d97f621110989f86443d5149d0cf0a944e6d
14.0.24210.032-bit4.5 MB2296ab849839fdb3b186d07c829d7ebe4115a9f544090ccea91fd71faf5c60964b17321d
14.0.23026.064-bit5.4 MB356cda31c77d6f99028d8ed1d95271c7ecda65beeb891b5190ca23e35ef141fac9c19ae1
14.0.23026.032-bit4.2 MB6a8d94346a834482957f41b9c2b6d22eaa87337d304cb04d7de18c665b1c8202c536d93f

Copies users uploaded to a public DLL catalogue, read on 14 October 2026. The checksums are listed for identification only. We do not offer these copies for download and have not checked each one against Microsoft's signature.

Questions people ask

What is the difference between mfc140u.dll and mfc140.dll?

Both are MFC version 14 from the same redistributable. The u stands for Unicode: mfc140u.dll handles text as Unicode, which is how nearly all programs are built today. mfc140.dll is the ANSI (multibyte) twin for programs that still use code pages. A program asks for exactly one of them by name, so you cannot swap them; installing the redistributable gives you both.

What are mfc140enu.dll, mfc140deu.dll and similar files?

They hold MFC's built-in texts, such as standard prompts and messages, in other languages. The three letters after mfc140 name the language: enu for English, deu for German, fra for French, jpn for Japanese and so on. They belong to the same Microsoft package as mfc140u.dll, so an error about one of them has the same fix.

Which Visual C++ version do I need for mfc140u.dll?

The 140 in the name means MFC version 14, shared by Visual Studio 2015, 2017, 2019 and 2022. The current 2015-2022 (v14) redistributable serves programs built with any of them. Older MFC versions have their own names, for example mfc120u.dll for Visual Studio 2013 and mfc100u.dll for 2010, and need their own packages.

The error names mfc140ud.dll. Is that the same file?

No. The d marks the debug build of MFC, which is made for developers testing their own code. Microsoft does not allow debug libraries to be redistributed, so no installer for end users contains it. The program you are running is a debug build; ask its maker for the normal release version.

Is the mfc140u.dll on my PC safe?

The genuine file is signed by Microsoft and is safe. Check a copy you are unsure about with the tool on this page; the 2-Spyware link above explains where suspicious copies turn up.

Why do I already have mfc140u.dll and still get the error?

Most often the copy you have is the wrong build. A 32-bit program cannot use the 64-bit file in System32, so it fails even though the name is on the disk. The other common case is an older copy in the program's own folder that lacks the functions the program calls. Installing both packages and updating the program covers both cases.

Sources

File data read on October 14, 2026.

About the authoruGetFix Editorial TeamEditorial team

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.

0 comments

…

4,322 members already hereThey read, write, comment and vote. 0 verified · 31 joined this year