Reputation: 3728
A perfectly ordinary Unicode MFC app compiled on a Win7 system by VS2013 and then deployed on a Windows 8 64-bit OS with x64-based processor complains that MFC120u.dll is missing.
So I download vcredist_x64.exe, run it, and it says it has completed successfully.
I run my MFC app, and it says MFC120u.dll is still missing. But I can see it clearly in C:\Windows\system32. Why is my program not finding it?
Upvotes: 1
Views: 14506
Reputation: 942358
Very strong odds that you used the wrong vcredist version, the default project configuration (Win32) produces a 32-bit program. So needs c:\windows\syswow64\mfc120u.dll instead. Use the 32-bit vcredist or add the x64 platform to your project.
Do favor local deployment so you don't depend on an installer and feel good that your program runs with the DLLs that you tested with. Just copy the files from your machine to the same directory where you copy the EXE. You need at least msvcr120.dll and mfc120u.dll, probably msvcp120.dll (std::string et al).
Upvotes: 3