Author Topic: CxxFrameHandler3 could not be located link library msvcrt.dll (solved)  (Read 55724 times)

0 Members and 1 Guest are viewing this topic.

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
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 ran when I went to install the setup. With not thinking to check every file before I installed this.
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 ( in Tweaking 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 start up 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 some where else, I went on their website and their new version is 4.0.0.0 (I think I can't remember)


Anyways, after this I ran "in Tweaking Repair All in One" with all the defaults selected, it took about 50 mins. I restarted, problem still not fixed. Then I did windows update, 56 fixes, restarted, and still not fixed. Now, I'm very stressed. All I can do is be compulsive about the problem And not do anything else until I fix the problem. I saw the link in this program and decided to go here. And ask for help.

One thing I noticed:
When I try to load device manager through right click my computer, properties, hardware, device manager. It comes up as "rundll32.exe - Entry Point Not Found"
"The procedure entry point __CxxFrameHandler3 could not be located in the dynamic link library msvcrt.dll" Will come up, I press okay, and continue.

But if I go to right click my computer - manage - click on device manager. No error message.
regedit.exe no error message
regedt32.exe error message.

So it's three programs that do it, regedt32.exe, rundll32.exe, and spybotsearch and destroy.

I noticed if I run "dependencywalker" I can make the error appear. By dinking around with it. I also notice the __CxxFrameHandler3 is indeed in msvcrt.dll.

I don't know what to do at this point. Any help would be appreciated.
« Last Edit: April 14, 2014, 10:39:39 pm by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
From the sound of everything that I read, I dont think the problem is the files themselves in the system32 folder.

The error that is coming up is saying that CxxFrameHandler3 doesn't exsit. Yet you checked and know it does.

What happens is this. When you register a dll or ocx file in Windows it writes itself to the registry and its location. So when that program installed itself it has very old versions of those files and then it registered those files to the registry. So now when a program that uses those files you get the error because Windows is loading those instead of the correct ones because the registry points to them instead.

What you need to do is register the ones in the system32 folder again, and I mean all of them that might have gotten registered with the old versions.

You could also try replacing the old ones in that other folder with proper ones as well.

I just tried to do a regsvr32.exe on those files on my system and none of them support being registered like that, so it is possible that other program changed the registry keys of where it should be pointing.

Have you done a registry search for Msvcirt.dll to see if you can find any regkeys that are pointing to the 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 folder?

Shane
« Last Edit: April 07, 2014, 03:50:37 pm by Shane »

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
From the sound of everything that I read, I dont think the problem is the files themselves in the system32 folder.

The error that is coming up is saying that CxxFrameHandler3 doesn't exsit. Yet you checked and know it does.

What happens is this. When you register a dll or ocx file in Windows it writes itself to the registry and its location. So when that program installed itself it has very old versions of those files and then it registered those files to the registry. So now when a program that uses those files you get the error because Windows is loading those instead of the correct ones because the registry points to them instead.

What you need to do is register the ones in the system32 folder again, and I mean all of them that might have gotten registered with the old versions.

You could also try replacing the old ones in that other folder with proper ones as well.

I just tried to do a regsvr32.exe on those files on my system and none of them support being registered like that, so it is possible that other program changed the registry keys of where it should be pointing.

Have you done a registry server for Msvcirt.dll to see if you can find any regkeys that are pointing to the 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 folder?

Shane

Yeah, I did think of that. So I made a folder in that 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\back up critical system msvcrt libraries

And cut and paste
MSVCRT.DLL
MSVCRT40.DLL
to the "back up critical system msvcrt libraries"

Now when I looked in the Support folder,  now it appears those 2 dlls are  back in there. (can't recall if that's what I did, or those just reappeared in there) (might need to restart). There is also more dll files in that folder, uninstall didn't really do a proper uninstall.

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

I just cut and paste them out of the folder again, so it's not like the system is using them. Let me put the proper ones in that folder then. Not sure how to do a registry server, first I heard of that. I'll try to restart to see if anything happens in that folder.

Also, When I uninstalled the program there seems to be dll's in that folder that just stayed there. Mean while, can you tell me how to do a registry server?
« Last Edit: April 07, 2014, 03:51:45 pm by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
God I am a dork, I need to reread what I type lol

I meant registry search  :tongue:

Shane

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
God I am a dork, I need to reread what I type lol

I meant registry search  :tongue:

Shane

Ah, no problem lol, not a big deal. Yeah, I recalled doing that. Nothing I saw was pointing to that specific directory. I also put the new msvcrt40.dll and msvcrt.dll in that folder from system32, restarted, same error, files didn't change in that folder.

I did find something strange although in my registry, don't know if this is the problem.

in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\0B150AC107B12D11A9DD0006794C4E25

don't know if that's normal.


Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
It shouldnt be C?\

On those 2 regkeys go ahead and fix them with C:\ instead of C?\ and then reboot and lets see what happens.

Shane

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
It shouldnt be C?\

On those 2 regkeys go ahead and fix them with C:\ instead of C?\ and then reboot and lets see what happens.

Shane

alright, I changed it and restarted, same error.

Now, I decided to run this setup program on a machine with deepfreeze. So any changes that happens revert on restart.  What the program did was extract a bunch of dll files into that system32 folder and then registers every single one of them. I tried to record what it does with my video camera, but it was too blurry. I took some screenshots of this process. I think it did what you said, it registered old dll files, but what you said before you can't register that msvcrt.dll.

Although it gave the error, can not find symbol: DLLRegisterServer. Which I think means you can't register those ones. The ones that it did register gave no error.

I'll try to record this with a better camera.

Also for instance, it registered MSVBVM60.DLL

I looked in that extract folder:
It's version 6.0.97.82

Now I looked into my system32
It's version 6.0.98.31

perhaps sfc.exe fixed the files in my system 32. But when this exam setup decided to register a file, something in the registry messes it up. Maybe I need to re-register the files (with updated dlls in system32) that are possible to register that this program did with the older versions.

well, I registered msvbvm60.dll. That succeeded

And low and behold I found DllCertUni.dll in my system32 folder. Which this program installed. Have no idea what it does or doesn't do. Google.com doesn't indicate it much. I should probably delete it. Although I wonder if this is registered dll. When I searched registry it is in there

HKEY_CLASSES_ROOT\CLSID\{F75C6783-1BC3-4BB9-BCDA-37A0A4794332}\InprocServer32
Default C:\WINDOWS\system32\DllCertUni.dll
ThreadingModel Apartment


update: I pretty much give up at this point. I deleted DellCertuni.dll and those folders that belonged to it in the registry. Then I restarted, still the same problem. I'm already backing up my data and preparing to reinstall operating system, preferably Windows 7 Ultimate version.

update: although I have been reading a lot about DLL registry here:
because it has to do with msvcrt.dll and how I have to fix it.

http://support.microsoft.com/kb/164501


Maybe this is the key to resolving my problem. I just don't know how to do it.

I think it has to do with LoadLibrary() API.
« Last Edit: April 07, 2014, 11:43:22 pm by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
Well if you are a little OCD like myself then there is a way to at least trace down the problem lol

What I would do is a fresh reinstall. Make sure everything works like it should.

Then right before I install the program causing the problem I do a registry backup with my reg backup program.

Then I use a tool to compare 2 registries. I have one on my system here. It will scan the registry to a file. Then I would install the program.

Once the program is installed I use the program to scan a 2nd copy of the registry and it will then tell me the differences between the two.

Then with that info I can trace down where the problem is.

Then I would restore the registry from y reg backup program so i wouldn't have to deal with the error just yet :-)

Shane

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
Well if you are a little OCD like myself then there is a way to at least trace down the problem lol

What I would do is a fresh reinstall. Make sure everything works like it should.

Then right before I install the program causing the problem I do a registry backup with my reg backup program.

Then I use a tool to compare 2 registries. I have one on my system here. It will scan the registry to a file. Then I would install the program.

Once the program is installed I use the program to scan a 2nd copy of the registry and it will then tell me the differences between the two.

Then with that info I can trace down where the problem is.

Then I would restore the registry from y reg backup program so i wouldn't have to deal with the error just yet :-)

Shane

Great thinking.

I got another computer I can use that uses deepfreeze. Then I can take a snapshot of my registry before I install the program. Then take a snapshot right after I install the program, then compare. I don't even need to reset my computer. Yes, this does give me something to think about. Just got to find the right programs. I still think I can fix this problem without doing a fresh install.

Yeah, and I do feel OCD about solving the problem, lol.

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
Damn it, I made a mistake. I found out something important. There is no CxxFrameHandler3 in msvcr.dll, there is only CxxFrameHandler.

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?

Well, I'm experiencing DLL HELL apparently on wikipedia and I think it has to do with this (I think):

"Incorrect COM registration

In COM and other parts of Windows, prior to the introduction of side-by-side Registry-free assemblies,[5] the Registry was used for determining which underlying DLL to use. If a different version of a module was registered, this DLL would be loaded instead of the expected one. This scenario could be caused by conflicting installations that register different versions of the same libraries, in which case the last installation would prevail."

Not sure this is it, but it's interesting to note one of the msvcrt.dll that it extracts is:
7.0.7601.17744 (win7sp1_gdr.111215-1535), but it never put that in the system32, unless I missed something, but according to my program it just put itself in it's own installation folder and in another installation folder. It also never added it to the registry or modified it to the registry. Perhaps when I ran the program itself, it then proceeded to register itself in the registry. I must check that.

And thanks to this great program that I used I have a registry file
"CertExams.com Test Engine 2.2.0 - Modified Registry - Before Install.reg"

which would revert all the registry settings back to normal before the install. But running that is a risk, since it was from a different computer (although same OS windows xp service pack 3. But if I can back up my registry config files if anything bad happens. Perhaps I should run this. And perhaps I should check out another program to see what happens to the registry if I run the program itself.
« Last Edit: April 09, 2014, 09:24:36 am by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
OK so the CxxFrameHandler3 is a new option in the dll that is only in newer versions of the dll file that isnt in the default Windows xp one.

Have you installed VC++_ runtime files 2005, 2008 and I think 2010? I mean run them all.

I have a feeling what is happening is a file is being replaces to the system32 folder but then the sfc is putting the old file right back.

Or least I think since I havent got my hands on it.

But what I normally do when I need to see what files and regkeys are being used by a program is I use this

http://technet.microsoft.com/en-us/sysinternals/bb896645

Then put in a filter to only monitor one process name. Then i can see exactly where and what it is touching.

Shane

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
OK so the CxxFrameHandler3 is a new option in the dll that is only in newer versions of the dll file that isnt in the default Windows xp one.


Yes, exactly.


I have a feeling what is happening is a file is being replaces to the system32 folder but then the sfc is putting the old file right back.

Hmm, not sure. Seems highly unlikely. I still think it has to do with registry.

Have you installed VC++_ runtime files 2005, 2008 and I think 2010? I mean run them all.

They were uninstalled previously, when I was trying to fix the problem. So today, I installed them one by one. And restarted to see if that fixed the problem. It didn't. And interesting to note.
When I went to install "Visual C++ 2012 Redistributable update 3" That same error came up again. I just clicked okay, installed and restarted. Problem wasn't  fixed.


But what I normally do when I need to see what files and regkeys are being used by a program is I use this

http://technet.microsoft.com/en-us/sysinternals/bb896645

Then put in a filter to only monitor one process name. Then i can see exactly where and what it is touching.

Tried it, took me some time to learn how to use it. I tried it on the rundll32.exe error when I try to access device manager from system properties. I didn't see it accessing msvcr.dll. I started logging right before I clicked device manager, then clicked it, then stopped the logging. You can take a look at it. I'll attach it, I have no idea what I'm looking for, actually. And I don't know why "Entry Point Not Found" is not displayed. Maybe you know what to look for.

And also, I ran "CertExams.com Test Engine 2.2.0 - Modified Registry - Before Install.reg" , had to change a few lines before it worked, my reg user id HKey_USERS was different than the other computer I got it from. Then restarted computer. And the error still appears. Maybe it's because it wasn't something it modified in registry, it was something it added. There must be a way to tell the registry how to handle msvcr.dll files and not load this function (CxxFrameHandler3). Or down date the version it think it's suppose to using. If I think that is the problem in the first place.


Also, another thing when I go to "System Restore" point tools.
I get "System Restore: rstrui.exe - Entry Point Not Found" before it loads up. 5 or 6 times. then 3 to 4 more times when I click next.
« Last Edit: April 11, 2014, 02:12:40 am by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
Have you checked if the dll is also in c:\windows\system32\dllcache?

Quote
And also, I ran "CertExams.com Test Engine 2.2.0 - Modified Registry - Before Install.reg" , had to change a few lines before it worked, my reg user id HKey_USERS was different than the other computer I got it from. Then restarted computer. And the error still appears. Maybe it's because it wasn't something it modified in registry, it was something it added. There must be a way to tell the registry how to handle msvcr.dll files and not load this function (CxxFrameHandler3). Or down date the version it think it's suppose to using. If I think that is the problem in the first place.

Thats why I wanted you to use my registry backup program, it would have replaced the registry files with the backup ones :-)
http://www.tweaking.com/content/page/registry_backup.html

Shane

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
Have you checked if the dll is also in c:\windows\system32\dllcache?


I went to check it, there are different versions.

7.0.2600.5701 (xpsp_sp3_qfe.081025-1544)
is the one I have in my system32

7.0.2600.0 (xpclient.010817-1148)
is the one I have in my system32/dll cache

And  both of them only have CxxFrameHandler and not 3




Quote
And also, I ran "CertExams.com Test Engine 2.2.0 - Modified Registry - Before Install.reg" , had to change a few lines before it worked, my reg user id HKey_USERS was different than the other computer I got it from. Then restarted computer. And the error still appears. Maybe it's because it wasn't something it modified in registry, it was something it added. There must be a way to tell the registry how to handle msvcr.dll files and not load this function (CxxFrameHandler3). Or down date the version it think it's suppose to using. If I think that is the problem in the first place.

Thats why I wanted you to use my registry backup program, it would have replaced the registry files with the backup ones :-)
http://www.tweaking.com/content/page/registry_backup.html

Shane

I take it you wanted me to do a fresh install (XP service pack 3) on same computer here with different hard drive. Back up that registry using your program. And bring that back up on this hard drive (with the problem) , and restore it that way? Wouldn't I lose all of my programs installed? From the beginning, not to mention my configuration?

Or maybe I wouldn't lose my programs, but I would lose my configuration for my programs?
« Last Edit: April 10, 2014, 06:00:09 pm by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
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

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
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

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.
« Last Edit: April 12, 2014, 04:39:00 am by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
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

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
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

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.

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
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.
« Last Edit: April 15, 2014, 05:32:09 am by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
Re: CxxFrameHandler3 could not be located link library msvcrt.dll (solved)
« Reply #19 on: April 15, 2014, 09:40:17 am »
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

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
Re: CxxFrameHandler3 could not be located link library msvcrt.dll (solved)
« Reply #20 on: April 17, 2014, 09:31:15 am »
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

Yeah, before I fixed it. I downloaded the latest Internet Explorer version. That didn't work. I usually only download critical updates. Unless something doesn't work. Unless something is required like netframework, then I'll get it. I have now reformatted and installed Windows 7. I will try vmware with XP, and then try the program again. Because I want to use it (have to get A+ certficiation). I don't think it's malware after all. I never cared about Internet Explorer, so I disabled that years ago, along with windows media player. And my current ieframe.dll in Windows 7 is 8.00.7601.18404.

I don't know what exact updates you installed to get yours working. But as long as my OS doesn't act like it's broken (not to mention make me paranoid malware has compromised my system), then I'm satisfied. And I learned a lot just in case a similar problem reoccurs.

And if that's the case that other programs use ieframe.dll, then it should not go in the system32 directory, but go in their own directory. I shouldn't have to update my system to accommodate special programs that rely on a crappy browser.

« Last Edit: April 17, 2014, 09:41:46 am by scarsxp »

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
Re: CxxFrameHandler3 could not be located link library msvcrt.dll (solved)
« Reply #21 on: April 17, 2014, 09:51:34 am »
I wish firefox or chrome had a way for a program to use thier browser and work with the pages, but only IE does.

Since I program in VB6 I need xp, so I just use vmware for all the extra OS's I need. XP to program in, and all the others to test my repairs in and such.

If you do use vmware let me know, I found a bug in every version of vmware where it would cause a horrible system slow down every 5 min that last for about 10 sec. What it was doing was writting memory or something to the drive, problem is the way it was writing to the drive caused anything that was trying to read off the drive to slow to a crawl. I watched the drive speed with my drive speedometer and the usage never went above 3 MB/s but playing video or anything needing the drive would stop or stutter until vmware was done.

So I did some searching and found other people who had it and I found a fix.

After you make the vmware OS and you have the .vmx file. Edit the vmx file with notepad and put this at the end of it

MemTrimRate = "0"
mainMem.useNamedFile = "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"


Save and reopen vmware, now when that OS runs that problem is gone and zero slow down on my system :-)

Shane

Offline scarsxp

  • Newbie
  • *
  • Join Date: Apr 2014
  • Posts: 49
  • Karma: 1
    • View Profile
Re: CxxFrameHandler3 could not be located link library msvcrt.dll (solved)
« Reply #22 on: April 18, 2014, 08:04:02 pm »
I wish firefox or chrome had a way for a program to use thier browser and work with the pages, but only IE does.

Since I program in VB6 I need xp, so I just use vmware for all the extra OS's I need. XP to program in, and all the others to test my repairs in and such.

If you do use vmware let me know, I found a bug in every version of vmware where it would cause a horrible system slow down every 5 min that last for about 10 sec. What it was doing was writting memory or something to the drive, problem is the way it was writing to the drive caused anything that was trying to read off the drive to slow to a crawl. I watched the drive speed with my drive speedometer and the usage never went above 3 MB/s but playing video or anything needing the drive would stop or stutter until vmware was done.

So I did some searching and found other people who had it and I found a fix.

After you make the vmware OS and you have the .vmx file. Edit the vmx file with notepad and put this at the end of it

MemTrimRate = "0"
mainMem.useNamedFile = "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"


Save and reopen vmware, now when that OS runs that problem is gone and zero slow down on my system :-)

Shane

Thank you for the heads up. I will definitely let you know if the problem exists, when I get around to installing it. I plan on using VirtualBox, since it's free and open source. I hope they fixed the bugs that you are talking about. Seems like a easy fix, although.