What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
mfc90u.dll is the Unicode release MFC runtime from Microsoft Visual C++ 2008. If Windows says mfc90u.dll is missing, not found, corrupt, or unable to load, repair the Visual C++ 2008 runtime that matches the application rather than downloading a loose DLL.
| File detail | What it means |
|---|---|
mfc90u.dll |
Unicode release Microsoft Foundation Classes DLL |
| Runtime generation | Visual C++ 2008, also called VC9 |
90 in the name |
Visual C++ 2008 generation |
u in the name |
Unicode build |
| Typical package | Visual C++ 2008 SP1 Redistributable MFC Security Update |
| 32-bit package | vcredist_x86.exe |
| 64-bit package | vcredist_x64.exe |
| Common locations | WinSxS, an application folder, System32, or SysWOW64 |
The fastest safe repair is usually the official Microsoft Visual C++ 2008 SP1 Redistributable Package MFC Security Update. Choose vcredist_x86.exe when the failing program is 32-bit and vcredist_x64.exe when it is 64-bit. Many 64-bit Windows computers need both packages because older applications are often 32-bit.
As an Amazon Associate I earn from qualifying purchases.
What mfc90u.dll actually is
MFC means Microsoft Foundation Classes. It is a C++ application framework used by older Windows programs with graphical interfaces, dialogs, menus, controls, and other Windows features.
mfc90u.dll is not DirectX, .NET, a printer driver, or a Windows kernel component. It is a shared runtime dependency used by applications compiled with dynamic MFC linking. The application expects Windows to provide the matching runtime assembly or an application-local copy.
#1 Best Overall
The filename follows Microsoft’s MFC naming convention:
mfc90u.dllis the Unicode release MFC DLL.mfc90.dllis the ANSI or multibyte-character release MFC DLL.mfcm90u.dllis an MFC DLL that includes Windows Forms controls.mfc90ud.dllis a Unicode debug build, normally used by developers rather than ordinary users.
The 90 does not mean Windows 90. It identifies the Visual C++ 2008 generation. Other names identify different runtime generations, such as mfc100u.dll, mfc110u.dll, and mfc140u.dll. Installing a newer Visual C++ package does not automatically replace every older generation.
MFC programs may also depend on related VC9 files, including:
msvcr90.dllmsvcp90.dllmsvcm90.dllatl90.dll- VC90 manifests
- Additional application-specific libraries
That is why copying only mfc90u.dll often leaves the real problem untouched. Microsoft’s MFC redistribution guidance explains that applications using shared MFC must deploy the matching MFC and C runtime components.
Is mfc90u.dll part of Windows
It is not normally a base Windows file installed on every computer. It arrives when an application or its prerequisite installer installs the Visual C++ 2008 runtime.
After installation, Windows may store the runtime in a side-by-side assembly location such as:
C:\Windows\WinSxS\...\mfc90u.dll
You may also see copies under:
C:\Windows\System32\mfc90u.dll
C:\Windows\SysWOW64\mfc90u.dll
An older program may instead keep a private copy beside its executable.
The path alone does not prove that a copy is correct. Windows uses application manifests, side-by-side assemblies, application directories, and architecture-specific DLL search rules when loading a library. The Microsoft DLL search order documentation explains why an application-folder copy can take precedence over another copy elsewhere.
Do not conclude that mfc90u.dll must always be manually placed in System32. A legitimate installation may use WinSxS or an application-local deployment.
Programs that may need it
mfc90u.dll is a general Visual C++ 2008 dependency, not a file belonging exclusively to one product.
Reported examples include:
- Logitech SetPoint, an older mouse and keyboard configuration utility
- Google Earth Pro
- dBase
- Samsung Kies
- CyberLink Power2Go and other older CyberLink products
- Older games and vendor utilities that bundle Visual C++ prerequisites
These examples do not mean that every installation of those programs requires the file. The failing executable, its manifest, and its installed runtime determine the actual dependency.
If the error names a game, launcher, or vendor utility, repair that program after repairing the runtime. A program may intentionally use its own private copy of the MFC files.
Error messages you may see
The wording depends on the Windows version and the executable that is starting. Common messages include:
The program can't start because mfc90u.dll is missing from your computer.
Try reinstalling the program to fix this problem.
The code execution cannot proceed because mfc90u.dll was not found.
Reinstalling the program may fix this problem.
There was a problem starting mfc90u.dll.
The specified module could not be found.
Error loading mfc90u.dll.
The specified module could not be found.
mfc90u.dll is either not designed to run on Windows or it contains an error.
The ordinal 12404 could not be located in the dynamic link library mfc90u.dll.
These messages do not all mean the same thing.
- “Missing” usually means the runtime or application installation is incomplete.
- “Specified module could not be found” can mean a dependency of
mfc90u.dllis missing, even when the named file exists. - “Ordinal not found” usually means the program loaded an incompatible DLL with the expected filename.
- “Not designed to run on Windows” can indicate corruption, a wrong architecture, or a mismatched build.
- A side-by-side configuration error usually points to a manifest or assembly problem.
Fix 1: Install the correct Visual C++ 2008 package
This is the first repair for a straightforward missing-file error.
Step 1: Identify whether the application is 32-bit or 64-bit
Do not choose based only on whether Windows is 64-bit. The redistributable architecture must match the application.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsRank #2
To inspect the program:
- Right-click the program’s shortcut.
- Select
Properties. - Open the
Shortcuttab. - Select
Open File Location. - Note the executable name.
- If the vendor documents the architecture, use that information.
- If the program is an older application, assume it may be 32-bit until confirmed.
You can also use Task Manager while the program is running:
- Press
Ctrl+Shift+Esc. - Select
Details. - Right-click a column heading.
- Choose
Select columns. - Enable
Platform, if available. - Look for an x86 or 32-bit indicator beside the process.
On some Windows versions, 32-bit processes are marked with (32 bit) or appear under a platform column. If Task Manager does not show the architecture, check the program vendor’s documentation or use the application’s installer information.
The important rule is:
- 32-bit application: install
vcredist_x86.exe - 64-bit application: install
vcredist_x64.exe - 64-bit Windows: may need both packages
Step 2: Download the official package
- Open Microsoft’s Visual C++ 2008 SP1 MFC Security Update download page.
- Review the available installer files.
- Download
vcredist_x86.exefor a 32-bit application. - Download
vcredist_x64.exefor a 64-bit application. - If you use several older programs with different architectures, install both matching packages.
The package page lists legacy installers for x86, x64, and IA64 systems. IA64 is for a specific Itanium platform and is not the normal choice for ordinary Windows 10 or Windows 11 computers.
Microsoft’s supported Visual C++ redistributable documentation explains the general architecture-matching rule. The current Visual C++ page does not make the 2008 runtime disappear, so use the official 2008 package when the application specifically requires VC9.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchStep 3: Run the installer
- Close the affected application.
- Open the folder containing the downloaded installer.
- Right-click the installer.
- Select
Run as administrator. - Accept the license terms.
- Complete the installation.
- Restart Windows.
- Start the affected program again.
What success looks like
The program should start without the mfc90u.dll error. If the same error appears, note whether the message changed. A new missing DLL name often means the MFC runtime was only the first missing dependency.
If the installer says the runtime is already installed
Use the repair operation:
- Press
Win+R. - Type:
appwiz.cpl
- Press Enter.
- Find the Microsoft Visual C++ 2008 Redistributable entry.
- Select it.
- Choose
Change, if available. - Select
Repair. - Restart Windows.
If there are separate x86 and x64 entries, repair the architecture required by the failing application. Do not remove every Visual C++ package from the computer. Different programs can depend on different generations and architectures, and side-by-side installations are normal.
Fix 2: Repair or reinstall the affected program
If the runtime is installed but the application still fails, the program may have been incompletely installed or may use a damaged private copy.
This often follows:
- An interrupted installation
- A failed update
- Disk-cleanup software removing application files
- Antivirus quarantine
- A damaged game installation
- A partial uninstall or reinstall
- Moving an application folder manually
Repair from Windows Settings
- Press
Win+I. - Select
Apps. - Select
Installed apps. - Find the affected application.
- Select the three-dot menu beside it.
- Choose
Advanced options, if available. - Select
Repair. - Start the application again.
Not every desktop program exposes a Repair button.
Repair from Control Panel
- Press
Win+R. - Type:
appwiz.cpl
- Press Enter.
- Select the affected application.
- Choose
Change,Repair, orModify. - Follow the installer prompts.
- Restart Windows if requested.
Repair a game
Use the game launcher’s built-in verification feature. Look for names such as:
Free tools Windows power users keep installed
One-click scans. No signup required.
VerifyVerify filesRepairScan and repairManage installation
The exact location depends on the launcher. This process replaces missing application-local files without requiring you to guess which DLL belongs in the game directory.
If the launcher has no repair function, uninstall the game, restart Windows, and reinstall it from the original launcher or installation media. Back up saved games first if they are stored inside the installation directory.
What success looks like
The program should launch using the runtime and private files supplied by its own installer. If reinstalling the program fixes the error but installing the redistributable did not, the application-local copy or its manifest was probably the damaged part.
Fix 3: Check the exact path and architecture
A file can exist while Windows still reports it as missing. The loader may be rejecting it because the copy is the wrong architecture, damaged, incompatible, or unable to load a dependency.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Locate copies of the file
Open Command Prompt as administrator:
- Open Start.
- Type
cmd. - Right-click
Command Prompt. - Select
Run as administrator. - Run:
where /r "%windir%" mfc90u.dll
This searches below the Windows directory. To search the application folder, replace the search path with the application’s actual directory.
Do not replace any copy just because it appears in a surprising location. Record the path named in the error and compare it with the application’s installation directory.
Inspect version metadata
In PowerShell, use the actual path:
(Get-Item "C:\path\to\mfc90u.dll").VersionInfo |
Format-List FileVersion,ProductVersion,CompanyName,FileDescription,OriginalFilename
Microsoft’s official tables list several valid historical VC++ 2008 branches. Examples include x86 versions 9.0.21022.8, 9.0.30729.4148, and 9.0.30729.6161, with other MFC updates listing later branches. Do not assume that one filename has only one valid version.
The Microsoft security-updated package records version 9.0.30729.6161 for both x86 and x64 builds, but the correct version for an old application depends on its build and manifest. The official Visual C++ 2008 file list provides the package’s verified file details.
Recommended Free Tools
Check the digital signature
In PowerShell:
Get-AuthenticodeSignature "C:\path\to\mfc90u.dll"
A trusted Microsoft or legitimate application-vendor file should have a valid signature appropriate to its source. A missing or invalid signature does not prove malware by itself, especially for old application-local files, but it is a reason to avoid copying or restoring that file blindly.
If the file came from an unknown DLL archive, remove it through the application repair process and install the official runtime instead.
Fix 4: Repair a side-by-side or manifest failure
MFC 9 applications may rely on VC90 manifests and side-by-side assemblies. If the error mentions configuration, activation context, or side-by-side assembly failure, reinstalling the loose DLL is not the right repair.
Use Microsoft’s sxstrace tool.
- Open Command Prompt as administrator.
- Start tracing:
sxstrace trace -logfile:%TEMP%\sxstrace.etl
- Reproduce the
mfc90u.dllfailure. - Return to Command Prompt.
- Stop tracing:
sxstrace stoptrace
- Convert the trace to readable text:
sxstrace parse -logfile:%TEMP%\sxstrace.etl -outfile:%TEMP%\sxstrace.txt
- Open the report:
notepad %TEMP%\sxstrace.txt
Look for the assembly, manifest, or dependency that failed to load. If the trace identifies the application directory, repair that application. If it identifies the Visual C++ 2008 runtime, repair or reinstall the matching redistributable.
Microsoft documents sxstrace as the diagnostic tool for side-by-side assembly problems.
Fix 5: Check antivirus quarantine
An antivirus scan can quarantine a runtime file or an application-local copy. This is especially relevant when the application worked until a security scan, update, or cleanup operation.
Check Windows Security
- Open Start.
- Type
Windows Security. - Open it.
- Select
Virus & threat protection. - Select
Protection history. - Review recent detections.
- Expand a detection related to the affected application.
- Check the original path, detection name, publisher, and source.
Do not restore a file merely because its name is mfc90u.dll. Verify that it came from Microsoft’s redistributable or the legitimate application installer. If it came from an unknown download site or an unexpected temporary directory, reinstall the runtime or application instead.
Microsoft explains the behavior of quarantined files in its Protection History documentation. Restoring a file can cause Defender to detect it again unless the file is separately allowed, so do not create an exclusion until you have verified the source.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →If the program was installed from an unknown source and several DLL errors appeared at once, run a full scan. Consider Microsoft Defender Offline when the system shows broader signs of compromise.
Fix 6: Repair Windows components with DISM and SFC
Use Windows repair commands when multiple unrelated applications are failing, Windows Update is damaged, or the error points to a corrupted WinSxS component store.
These commands repair Windows components. They do not install the Visual C++ 2008 runtime when the runtime was never installed.
Run DISM first
- Open Start.
- Type
cmd. - Right-click
Command Prompt. - Select
Run as administrator. - Run:
DISM.exe /Online /Cleanup-Image /RestoreHealth
- Wait for the operation to finish.
- Restart Windows.
Run System File Checker
Open an elevated Command Prompt again and run:
sfc /scannow
Wait until verification reaches 100 percent. Restart Windows and test the affected application.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Possible results include:
- Windows Resource Protection found no integrity violations
- Windows Resource Protection found corrupt files and repaired them
- Windows Resource Protection found corrupt files but was unable to fix some of them
If SFC cannot repair everything, review the result, install pending Windows updates, restart, and run DISM again before repeating SFC. Microsoft’s System File Checker guidance recommends DISM before SFC.
Manually repeating SFC and DISM can mean hunting through long logs and guessing which component changed. Outbyte PC Repair can scan for the problem and show what needs attention, while the repair is performed by the full version; paid software is not required, and reinstalling the specific application remains the definitive fix when its private runtime is damaged.
Fix 7: Repair an associated vendor utility or driver package
If only a hardware control panel, tray utility, scanner tool, or capture-device application fails, the problem may belong to that vendor package rather than Windows as a whole.
Rank #4
The correct order is:
- Install or repair the matching Visual C++ 2008 runtime.
- Download the complete utility or driver package from the hardware vendor.
- Uninstall the damaged vendor utility if its installer recommends doing so.
- Restart Windows.
- Install the replacement package.
- Start the utility again.
Use Device Manager when the device itself is affected
- Right-click Start.
- Select
Device Manager. - Expand the relevant category, such as
Mice and other pointing devices,Keyboards,Display adapters,Imaging devices, orSound, video and game controllers. - Right-click the affected device.
- Select
Properties. - Open the
Drivertab. - Note the provider, date, and version.
- Use
Update Driveronly when you have a trusted source or Windows Update package. - If the device stopped working after a recent driver change, check whether
Roll Back Driveris available. - Restart Windows.
Do not reinstall a graphics or chipset driver just because an unrelated program reports mfc90u.dll. Driver repair is relevant when the failing executable is part of a hardware utility or the Device Manager device itself is malfunctioning.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallManually checking dozens of hardware pages and guessing which driver is stale is tedious. Outbyte Driver Updater can scan the system and identify outdated drivers, while the driver installation is performed by the full version; it is not required for an mfc90u.dll repair, and the hardware vendor’s complete utility remains the definitive fix for an application-specific failure.
Fix 8: Check Windows Features, but do not expect a DLL toggle
Windows Features does not provide a general checkbox that installs mfc90u.dll.
To inspect the available features:
- Press
Win+R. - Type:
optionalfeatures
- Press Enter.
- Review the list.
- Do not enable random legacy features as a substitute for Visual C++ 2008.
- Close the window without changes unless you have a separate application requirement.
.NET Framework features and legacy components solve different compatibility problems. Enabling them will not normally install the VC9 MFC runtime.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Fix 9: Reinstall Windows updates and reboot
A pending update, interrupted restart, or damaged component store can interfere with side-by-side assemblies and installers.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →- Press
Win+I. - Select
Windows Update. - Select
Check for updates. - Install available updates.
- Restart Windows.
- Run the Visual C++ 2008 installer again.
- Test the affected application.
The Visual C++ 2008 package is legacy software. Microsoft still lists the official package, but its download page does not guarantee compatibility with every current Windows configuration. If the installer fails on a modern system, use the application vendor’s updated installer or a supported replacement version where available.
What not to do
Do not download a loose DLL
Random DLL download websites can provide:
- Malware
- The wrong architecture
- A mismatched build
- A damaged file
- A file with an invalid signature
- A DLL that hides the real missing dependency
Even a clean-looking file may not match the application’s manifest or the rest of the VC9 runtime.
Use the official Microsoft redistributable or the affected application’s original installer.
Do not copy the file into System32
Copying an arbitrary x86 DLL into System32 can make the problem worse. On 64-bit Windows, System32 is associated with 64-bit system components, while SysWOW64 contains 32-bit system components. The names are confusing, and manually placing a file does not repair manifests or dependencies.
Do not overwrite a WinSxS file. Side-by-side assemblies are managed by Windows and should be repaired through the package or application installer.
Do not mix x86 and x64 files
A 32-bit program needs the x86 runtime. A 64-bit program needs the x64 runtime. A 64-bit operating system can run both types of programs, so it is normal to install both redistributable architectures when different applications require them.
Do not use regsvr32 for this repair
Do not run:
regsvr32 mfc90u.dll
regsvr32 is used for certain self-registering DLLs that expose functions such as DllRegisterServer. It does not install the Visual C++ runtime, repair a side-by-side assembly, or fix a missing MFC dependency.
A failed attempt may produce an error such as:
DllRegisterServer ... failed
That means the registration command did not apply to the file. It does not mean you need another copy of the DLL.
Do not remove every Visual C++ Redistributable
Older applications can require different runtime generations at the same time. Removing unrelated packages can break other programs.
Repair or reinstall only the Visual C++ 2008 architecture involved in the error unless a specific vendor installer tells you otherwise.
How to tell which cause applies
| Symptom | Likely cause | Best next action |
|---|---|---|
| Error appears immediately after installing an old program | VC++ 2008 runtime absent | Install matching x86 or x64 package |
| x64 package did not help an older application | Program is probably 32-bit | Install or repair vcredist_x86.exe |
| File exists but the error remains | Dependency, manifest, or wrong build | Run sxstrace, inspect the path, repair the app |
| Ordinal error | Incompatible MFC copy | Repair the application and remove the private mismatch through its installer |
| “Not designed to run on Windows” | Corruption or architecture mismatch | Check version, size, signature, and path |
| Failure began after antivirus activity | Quarantine or deletion | Verify Protection History and reinstall from an official source |
| Only one game fails | Damaged game-local runtime | Use the launcher’s Verify or Repair function |
| Only a hardware utility fails | Damaged vendor package | Repair VC++ 2008, then reinstall the vendor utility |
| Several unrelated programs fail | Windows component corruption or malware | Run security checks, DISM, and SFC |
| Installer says it is already installed | Existing package is damaged | Use Control Panel Change and Repair |
Frequently asked questions
Is mfc90u.dll safe?
The legitimate Microsoft runtime is a normal application dependency. A file’s name alone does not prove that a particular copy is safe. Check its location, signature, version information, and installation source.
Best Value
- Windows 11's new user experience, from reworked Start menu and Settings app to voice input
- The brand-new Windows 365 option for running Windows 11 as a Cloud PC, accessible from anywhere
- Major security and privacy enhancements that leverage the latest PC hardware
- Expert insight and options for installation, configuration, deployment, and management – from the individual to the enterprise
- Getting more productivity out of Windows 11's built-in apps and advanced Microsoft Edge browser
A copy from Microsoft’s redistributable or the original application installer is preferable to a file downloaded separately.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesWhy does Windows say the file is missing when it is visible?
The loader may be unable to load a dependency, manifest, or compatible architecture. “Module not found” can refer to a dependency of mfc90u.dll, not only the named file.
Use sxstrace for side-by-side errors and repair the complete runtime package rather than copying another DLL.
Should I install both x86 and x64 packages?
Install the package that matches the failing application. It is also reasonable to install both when you use both 32-bit and 64-bit programs on 64-bit Windows.
Many older Windows applications are 32-bit, so the x86 package is frequently the required one even on a 64-bit computer.
Does the latest Visual C++ package replace Visual C++ 2008?
Do not assume that it does. Visual C++ runtime generations are separate, and an application compiled for VC9 may specifically require the Visual C++ 2008 package.
Use the official VC++ 2008 SP1 package when the error names mfc90u.dll.
Is mfc90u.dll the same as mfc90.dll?
No. The u identifies the Unicode release DLL. mfc90.dll is the ANSI or multibyte-character release version. They are related but are not interchangeable substitutes.
Is mfc90u.dll the same as mfc90ud.dll?
No. The d identifies a debug build. Debug MFC files are normally developer dependencies and are not supplied as the ordinary consumer runtime.
Can System File Checker restore it?
SFC can repair protected Windows files and component corruption, but it is not the normal way to install Visual C++ 2008. If the runtime is absent, install the official redistributable. If an application-local copy is damaged, repair the application.
What should I do after an ordinal error?
Do not download a newer DLL and overwrite the existing one. An ordinal error means the program found a DLL with the expected filename but not the expected exported function or ordinal.
Identify the path being loaded, then repair or reinstall the affected application and its matching VC++ 2008 runtime.
What if the program is too old for Windows 11?
The official package is legacy software, and current compatibility is not guaranteed by the old download page. Try the application’s official installer, apply any vendor compatibility update, and use the program’s documented compatibility settings if appropriate.
Recommended Free Tools
If the application depends on an obsolete installer or private runtime that cannot work on the current system, running it in an appropriately supported older Windows environment may be necessary.
Should I restore a quarantined mfc90u.dll?
Only after verifying the original path, publisher, signature, and application source. If the file came from an unknown archive or unexpected temporary directory, do not restore it. Reinstall the official runtime or legitimate application and run a security scan.
Can System Restore fix this problem?
Use System Restore only when the failure clearly began after a recent update, installation, driver change, or cleanup operation and a suitable restore point exists.
- Press
Win+R. - Type:
rstrui.exe
- Press Enter.
- Choose a restore point from before the failure.
- Review the affected programs.
- Start the restore.
Microsoft says System Restore normally rolls back system files, registry settings, and installed programs without affecting personal files, but it does not replace a proper runtime installation in every case.
Free tools Windows power users keep installed
One-click scans. No signup required.
What information should I collect if the problem continues?
Record:
- The exact error text
- The name of the failing executable
- Whether the program is 32-bit or 64-bit
- The path shown in the error
- The installed Visual C++ 2008 architecture
- The result of the installer’s Repair operation
- The output of
sxstrace, if a side-by-side error appears - The file version and signature
- Whether antivirus recently quarantined anything
That information distinguishes an absent runtime from a damaged application-local copy, a manifest failure, a wrong architecture, or a broader Windows problem.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

