Main Forum > General Computer Support
CxxFrameHandler3 could not be located link library msvcrt.dll (solved)
scarsxp:
--- Quote from: Shane on April 11, 2014, 11:36:58 am ---OK I did some checking and on my XP system in vmware I have SP3 and all updates. I have C++ runtimes 2005, 2008, 2010 and 2012 all installed.
Not a single msvcrt.dll has the CxxFrameHandler3.
HOWEVER when you install the newer runtimes the msvcrt.dll has a different file name for the newer runtime versions as you can see in the picture. The function call starts with the 2008 runtimes and newer.
So that should help us go in the right direction. The program that is giving you the error is trying to use msvcrt.dll when it should be using msvcr100.dll or one of the other files that has the correct call. For some reason, what ever changed or was added to the registry is causing the wrong file to be loaded.
Shane
--- End quote ---
Ahh just noticed something with that picutre, I'm missing msvcr100_clr0400.dll, which was apparently installed on a fresh install of XP Pro Service Pack 3. I put it in the folder, tried to register it, it said it can't register it. Restarted, still same error.
Should I enter into the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
Folder? Maybe my problem has something to do with this
Because under another fresh install copy of windows xp service pack 3
It only has this one as a shared dll
C:\\WINDOWS\\system32\\msvcr100_clr0400.dll"=dword:00000001
Mine has msvcrt.dll in msvcr100_clr0400.dll place:
"C:\\WINDOWS\\system32\\mfc42.dll"=dword:00000003
"C:\\WINDOWS\\system32\\msvcirt.dll"=dword:00000003
"C:\\WINDOWS\\system32\\msvcp60.dll"=dword:00000003
"C:\\WINDOWS\\system32\\msvcrt.dll"=dword:00000001
Perhaps msvcr100_clr0400.dll is suppose to be used instead of msvcrt.dll. Or perhaps msvcr100_clr0400.dll is suppose to be in this registry.
Update: well, I just put mine in the program you used. And this is what it came up with.
Shane:
Maybe I missed it, but what program itself is causing the error looking for it?
I know it was a rundll , but that is normally running a dll or other file that would be causing the error.
You will also notice how a lot of the other programs that use different versions of the dll files will have the files with them in the same folder. So what file is causing the error in the first place?
Shane
scarsxp:
--- Quote from: Shane on April 14, 2014, 09:53:12 am ---Maybe I missed it, but what program itself is causing the error looking for it?
I know it was a rundll , but that is normally running a dll or other file that would be causing the error.
You will also notice how a lot of the other programs that use different versions of the dll files will have the files with them in the same folder. So what file is causing the error in the first place?
Shane
--- End quote ---
Alright, I checked on a few things, as soon as I press the device manager button on the system properties. Process Explorer showed 3 things that Rundll32.exe was trying to access when the Entry Point error occurred.
devmgr.dll
ieframe.dll
mpr.dll
I loaded ieframe.dll into dependency walker. There some major problems with this dll. It can't find a bunch of dlls that are missing. Apparently ieframe.dll links back to msvcr, which appears to be red. Also when I clicked on msvcr, there is a CxxFrameHandler3 Function not available that is showing up in red. This must be the culprit.
scarsxp:
Thanks, you asked the right questions. And now the problem is solved. I thought I would never be able to fix this problem. And I was already to reformat and install Windows 7.
The error message is now gone. I was using the wrong "ieframe.dll" in my system32, apparently this program that I installed put it in there and overwrited the older one without warning. Don't know how it did it.
It put : "11.00.9600.16521 (winblue_gdr_escrow.140228-1503)" in my system32 folder
My version I'm suppose to be using "8.00.6001.23286 (longhorn_ie8_ldr.111214-1815)" from a fresh pack of XP service pack 3
Apparently Winblue is Windows 8.1.
This version 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. That's just it, I wanted to know why my operating system requesting for something not found in msvcr in XP versions of that DLL.
I don't know why system file checker just didn't go ahead and replace that wrong version (Perhaps it couldn't, I was running sfc.exe from the operating system). Now the program that I installed didn't install or even have ieframe.dll. And I didn't see it install itself into the system 32 system for that matter.
It's when I installed and downloaded "220-801(A+Essentials)" exam pack through the program itself. That's when it installed a bunch of other files. Because I found a copy of ieframe.dll in my "C:\Program Files\CertExams.com\Test Engine\220-801(A+Essentials)\Support" folder.
Then I don't know where from there how it installed it into my system32 folder. I don't know if it modified a registry key or what it did to get it installed. I would have to watch it with "InstallWatchPro25" to see what happens.
Update: And now I noticed some new programs that I installed, that crashed right away. Now they don't crash, and they run.
Shane:
I checked and the version of ieframe.dll on my xp in vmware with all updates is newer than the v8 you had. ieframe.dll is used by IE and allows programs to use it to have a web browser control in them, like my simple port forwarding program. So a lot of programs use the ieframe.dll in order to display webpages in them.
The version you are using is a version meant for a newer version of IE but has backwards compatibility so it works :-)
Sometimes the only way to find a cause to a problem is to ask the right questions :wink:
Shane
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version