CxxFrameHandler3 could not be located link library msvcrt.dll loading device manager, regedit32.exe, running spybot

Scribels

Distinguished
Jul 26, 2011
50
0
18,640
Hi, I had this problem where if I load, certain functions on my operating system, I get this error message:
"The procedure entry point __CxxFrameHandler3 could not be located in the dynamic link library msvcrt.dll"
Functions still work, it just tells me that everytime I start it. Press okay, continue

First of I'm running Windows XP Professional Service Pack 3.

To solve this problem I ran a google search on it. Here is what I did to try and solve the problem:
I replaced the "msvcrt.dll" 7.0.2600.5701 (xpsp_sp3_qfe.081025-1544) file with "msvcrt.dll" 7.0.2600.0 (xpclient.010817-1148)
That didn't work.
Next I got :
Msvcirt.dll

Msvcrt20.dll

Msvcrt40.dll

From a fresh install of Windows XP with service pack 3. I noticed the files were the same CRC and same versions. So I didn't think it would matter. So I did it anyways.

Still no success same errors. So I figured it maybe malware.

So I ran spybotsearch and destroy, ran an update it. And then started a scan, during this time. This message kept on popping up
"The procedure entry point __CxxFrameHandler3 could not be located in the dynamic link library msvcrt.dll"

a thousand times, so I decided to try to boot up to safe mode. And try to run the scan, and it still does it.
Anyways, I clicked okay about a thousand times, and completed the scan. It said no malware found.
Then I tried opening device manager in safe mode. It still said the same errors.
regedit.exe - works no error. (not in safe mode, or in safe mode)
but when I run "regedit32.exe" both in safe mode and not in safe mode, still same error.

So I did more research on the internet, and found out that msvcrt.dll is linked to microsoft visual C++, so I uninstalled all a couple of versions, to see if it would work. Nope didn't work. Then I decided to uninstall all my versions. And now it still doesn't work. (By the way all of these Visual C++ are redistribution packs that were downloaded from Microsoft's website (so no malware should be on them)

So I decided to install a new version C++
Microsoft Visual C++ 2013 Redistributable (x86) Version: 12.0.21005.1

That didn't work (so I uninstalled it), at this point I got a little frustrated (after spending 8 hours trying to solve the problem). I know the guide that I read said I shouldn't do it. But I went downloaded Msvcrt 7.0.6002.18551 (vistasp2_gdr.111214-0301) from dll.com. So I loaded up computer to a command prompt before Operating System, renamed the old msvrct to msvcrt.bak, and copied that new one from my desktop to the system32 files. Result was disastrous.

Fatal System Error stop message.

So I restarted, and deleted that msvcrt and renamed old one to msvcrt.dll. Got operating system back. This time, I decided to run
SFC.exe /scannow, (annoying program that bitches about windows xp cd that I have in, where I have to click keeping retry.) Anyways, I completed it and restarted. Still same error message.

At this point, I started thinking when this error start occurring. I installed a program called "CE_APlusPracApp.exe". I think this has something to do with it (last program I installed). So I looked in the folder
"E:\Users\User\Desktop\downloads\Ebooks\Exam simulator\CertExams.220-702.A.Plus.Practical.Application.Exam.Simulator.v2.0.0-CRD\setup\Test Engine\220-702(A+PracticalApplication)\Support"

There are all of these old dll files, and they are of course "MSVCRT.DLL" "MSVCRT40.DLL" The file version on MSVCRT.DLL (6.00.9782.0) CRC: D1BBDE44, and MSVCRT40.DLL (4.22.0000) CRC 163AC2D0. I know these files are sometimes are specifically used for their own program. The program is strange anyways, it seems old like a windows 95 or windows 98 program. Anyways, I really think this program had to do with it. I remember comodo firewall defense monitoring it when it went through it's complicated install process. I'm not sure, but I think it's a screw up on the registry. Furthermore, I always make sure before I install a program I use virustotal.com And it reported no viruses or malware over 0/50 detection ratio. I went to check it out now and it was 1 detection (Trojan.Nsis.Inject.cvxsmx ). Furthermore I'm just talking about the setup program. The original files came from a zip. I think the mistake I made was when I ran this setup, it could have used a program called crd.exe, which has a
Detection ratio: 15 / 50
Maybe that's the program it in
I could have installed a trojan that compromised my registry. Anyways, I deleted crd.exe. And uninstalled the program

So then I ran malwarebytes, it didn't find anything then I ran: "Tweaking Repair All in One)" I selected
9. Remove Policies Set By infections
25. Restore Important Windows Services

And then I restarted, still I get the same error.

Then I decided to run a full virus scan using the program "ESET Smart Security" It found a few viruses that I don't use. That I'm aware of are viruses, flv player. Because I ran that through virustotal.com and never used them because of too many false positives.

E:\Users\User\Desktop\downloads\Flv player\FLV Player 1.2.0.2\setup.exe » INNO » {tmp}\setup__1406.exe - a variant of Win32/Amonetize.B potentially unwanted application

E:\Users\User\Desktop\downloads\Flv player\FLV Player 1.2.0.2\setup.exe » INNO » {tmp}\Lucky-Savings.exe » NSIS » LuckySavings.exe - is OK

Stuff like that, but nothing real serious. And now, I am where I am right now. I have no idea what's going on here. I have 90% certainty it was that program that caused the trouble. And no I can't go back to a restore point before that time because I don't have one.

I'm not a msvcrt.dll or C++ expert. What could be doing this? how does this work, why can't it find The procedure entry point __CxxFrameHandler3 ? Is it looking at the wrong msvcrt.dll? Did this program register a old windows 95 msvcrt.dll into the registry and it's ignoring the one in the system32 version? Should I some how replicate (reinstall this program)
"CE_APlusPracApp.exe" in a protected environment under deep freeze, so anything changed on the hard drive is reverted on restart. So I can monitor on comodo firewall to see what it does to the registry? And report back here?

There also is this ( inTweaking Repair All in One)
26. Set Windows Services to Default Startup

"Set Windows Services To Default Startup:

This will set the Windows services to their default startup state. Special thanks to blackviper for having all the default information handy.

This will set the services startup by the "sc config" command and not by the registry.

To edit or view, all services and their startup are in the services_startup.txt in the files folder."

Should I do that? Backup registry and make a restore point. Anyways, I don't know what the problem is. I need a Microsoft Visual C++ Expert dll expert on the subject here would be helpful. If you know what is going on or having utility tools let me know.

By the way the file is

CE_APlusPracApp.exe
Version 2.0.0.0
And it is an older version of the program I found on their website, I think their new version is 2.0.0.0
 
Solution
Solved (just updating if others are googling and have the same problem): I figured it out, (with some help) I had the wrong version of ieframe.dll in my system32 folder.

My system32 had this version:
11.00.9600.16521 (winblue_gdr_escrow.140228-1503)

instead of this one from a fresh install of XP in service pack 3:
8.00.6001.23286 (longhorn_ie8_ldr.111214-1815)

Apparently windows 8.1 DLL files don't work good in windows xp, lol.

But what happened was that when I press device manager from system properties. 3 DLLs load from Rundll.exe when the error message occurs. Using process explorer I was able to figure that out that these were the 3:

devmgr.dll
ieframe.dll
mpr.dll

Using dependency walker I loaded ieframe.dll.
And that...
I know what's going on now.

There is no CxxFrameHandler3 in msvcr.dll, there is only CxxFrameHandler. I found this out in dependency walker.

The only CxxFrameHandler3 I found is in this version:
7.0.6002.18551 (vistasp2_gdr.111214-0301)

That will cause a system fatal error in Windows XP. Leads me to the question if there is no CxxFrameHandler3 with any XP versions of msvcr.dll's then why is my operating system asking for CxxFrameHandler3?

This must be something to do with the registry. Is there a way to tell the registry, that it has to stop looking for CxxFrameHandler3, or maybe it thinks that a newer version is being used and that's put in the registry so it has to use that command. I'm not sure what it's doing. But I'm requesting the experts here, if anyone knows how to fix this, let me know.

 
Solved (just updating if others are googling and have the same problem): I figured it out, (with some help) I had the wrong version of ieframe.dll in my system32 folder.

My system32 had this version:
11.00.9600.16521 (winblue_gdr_escrow.140228-1503)

instead of this one from a fresh install of XP in service pack 3:
8.00.6001.23286 (longhorn_ie8_ldr.111214-1815)

Apparently windows 8.1 DLL files don't work good in windows xp, lol.

But what happened was that when I press device manager from system properties. 3 DLLs load from Rundll.exe when the error message occurs. Using process explorer I was able to figure that out that these were the 3:

devmgr.dll
ieframe.dll
mpr.dll

Using dependency walker I loaded ieframe.dll.
And that version(winblue) of ieframe.dll expects there to be cxxframehandler3 in msvcr, not to mention a bunch of other dlls that windows xp doesn't uses, and other entry points. So I replaced it with a older version.

 
Solution



How did you replaced it?
 
I solved the problem by running RegHealer, by KSL Software, which apparently fixed some registry key that got out of whack when I was uninstalling software.
 

In my Verizon IHA directory (C:\Program Files\Verizon\IHA_MessageCenter\Bin\) there are two DLLs that call msvcrt.dll at the non-existent tag __CxxFrameHandler3. They are FirewallAPI.dll and hnetcfg.dll. Those are called from VzDisplayAgent2.exe. This represents bad programming, version control or release control. Or a combination of the above. This can be easily verified: use the dependency walker, load the two DLLs (FirewallAPI.dll and hnetcfg.dll) and note the non-existent but referenced objects. There are NO msvcrt.dll versions on any of my XP computers that contain __CxxFrameHander3. (...and there are literally DOZENS of msvcrt.dll versions sprinkled about here and there). An easy fix isn't obvious. (Get the source code, debug it, recompile, deploy... (???) ) Maybe it's been fixed by now and I don't know it.

Cheers! and pip pip.

-Richard
 
Ok, I am having the same issue, would you please tell me in plain english ie: dumb it down what I need to do to fix it? I have Windows XP -if you can give me step by step on how to fix this

thanks

Bhstill
 


 
For winXP. If you can't open IE (internet explorer), the solution is to fully reinstall IE and the warning "The procedure entry point __CxxFrameHandler3 could not be located in the dynamic link library msvcrt.dll" will not longer showup after restart and everything will work normally. __CxxFrameHandler3 problem may prevent opening other programs (showing same warning) but error seems to be related to IE so if you reinstall it everything (including other programs) will go back to normal. I did this fix up on two computers and now both are working just fine. Hope this procedure will help you too.