-1

Some time ago, I noticed some of my programs stopped working because of error 0xc000007b. After researching a bit, I traced the source of the problem to two files: msvcr100.dll and msvcp100.dll . The 32bit versions of these files got switched (somehow) by their 64bit versions in the System32 folder, causing many programs to crash instantly. Is there a way to download or obtain the 32bit versions of these files so I can change them?

PS: I already tried reinstalling Visual C++ 2010 Redistributable (x86 and x64), and it did not work.

PPS: I found out about the two file by using depends.exe on a program which was not working. It should that the program used many x86 libraries, but the two files above were x64 and inside system32.

4
  • Yes, Just install the 32-bit version? Why do you believe those they were switched? Yes; the answer to that question is important. Please provide the exact error, you not being sure of which error your getting, makes researching a solution impossible
    – Ramhound
    Oct 12 '16 at 4:25
  • Corrected it. Now it may be more specific
    – Carmo
    Oct 12 '16 at 4:33
  • System32 is suppose to contain 64-bit dlls on a 64-bit installation of Windows. Installing the 32-bit version of the redistributable is enough to run 32-bit executables that reference the 32-bit versions of Visual C++
    – Ramhound
    Oct 12 '16 at 4:45
  • 1
    32-bit versions of the file would be located in SysWoW64 by the way
    – Ramhound
    Oct 12 '16 at 4:52
2

Install the latest Microsoft Visual C++ 2010 Redistributable Package x32 then x64 after deleting all previous VC++ versions and files and the problem will be fixed. The .dll is part of this distribution.

If that won't work, track the dlls to see that they land where they must. Use regsvr32.exe to manually register them (you can download them separately for this purpose from here).

If even that does not work, and you don't want to SFC your Windows, just drop the corresponding version (32 or 64) in the folder of your problem-apps .exe files.

2
  • You don't have to actual register these dlls. You can simply place them in the application directory, and by default Windows one of the last places Windows will look for a dependency is the application directory. This heiarchy of file locations is well documented, and has been the case, since before Windows XP.
    – Ramhound
    Oct 12 '16 at 13:32
  • Yes, correct; but registering them will allow them to be used by other apps compared to the copy-to-specific app dir method.
    – Overmind
    Oct 14 '16 at 9:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.