core windows dll

randy_belcher

Active member
Joined
Dec 10, 2003
Messages
37
I have a big problem and need some fast help. After deploying a .NET application on a server, one of the core windows 2000 server dlls is messed up (msvcrt.dll). I noticed the size is about 20K less than the one on my machine. I have tried to copy over the dll but keep getting the message that the file is in use and cannot be overwritten or renamed. I have tried running a batch program that will copy over the file during boot up - I didnt get any messages but the file size didnt change and the dll was not fixed. I have tried booting up in safe mode and in DOS mode. Still no luck. Does anyone have any suggestions? Maybe a service pack I could use or something. Thank you.
 
Are you sure the DLL is messed up? The size of the file could change depending on Service pack / hot fix installed. What OS are you running on the local machine?
 
The error message when I try to run the app is

the procedure entry point ??_U@YAPAXI@Z could not be located in the dynamic link library MSVCRT.dll.

More things are crashing than just my app, so something vital has been messed up. I dont think .NET really has anything to do with it. I have a program that interacts with a Symposium database (Sybase I think). Everytime I tried to install symposium to get the drivers I needed to connect to the database, the install would crash. Either way, I have a big problem that needs fixing. Thanks for the help.
 
Doesnt sound like its corrupt - probably just a version mismatch. It may be worth checking the read me for this program and see what OS versions / Service packs it supports. Failing that it may be worth building a test platform and seeing if a newer service pack fixes the problem.
 
I am running windows 2000 on my laptop and the program works fine. All the service packs should be installed on the server, but I will ask the network admin. I still believe the dll is corrupt, because several applications run on this machine and none of them are working now.
 
When did this problem first occur? After a particular piece of software was installed? Easy thing to try is right-click on the dll and bring up the properties tab - you should be able to get the DLLs version from here. Compare the version on the server against the version number on your laptop and see if they differ.
 
the version numbers do differ, but i am running windows 2000 and the server is running Windows 2000 Advanced Server. I still believe it is the dll and I am trying to find out what the newest version is and where I can get it.
 
Easiest way to get the newest version is apply the latest service pack. Trust me though if the version numbers differ then that stands a good chance of being the source of the problem, if a DLL as critical as msvcrt.dll was corrupt then you would encounter major system instability problems as it is used by core system processes like explorer.exe, services.exe, lsass.exe and winlogon.exe to name but a few.
 
well, there are more underlying problems. the network admin was able to rename the dll using his login. Windows automatically recovered the dll and the size and version look ok. I am still getting the same error though, so another dll must be corrupt. I am still searching and hoping I will find the answer. i appreciate the help and any other ideas.
 
Under the windows or system32 directory there is a folder called dllcache - this is the backup windows uses to repair damaged or corrupted files - if a core system file is damaged then both the installed and this backup versions would have to be corrupted.
Mismatched versions of DLLs and applications is a far more common problem than corrupted files - in fact this is one of the areas .Net is attempting to rectify by its side-by-side versions deployment.
Out of curiosity what version numbers did you get for the server and your client? (Feel free to PM me the details if you would rather not post this information publically)
 
The version was not correct after checking the dll cache. the version in the cache was 6.1.9844.0 but the version in the system32 directory was 6.0893 something or another. Anyway, the network admin copied the file from the dll cache to the system32 directory, eventhough it said the copy worked fine, the versions were still different and my applications still didnt work. However, after we rebooted the machine, the dll changed to the proper version and it seems like everything is working ok. i still have some more testing to do, but so far so good. i appreciate all the help.
 
Did you try to search your error on google ?
Theres some web site (dont remember which) that specialize in .NET error message and how to solve them. One of them is Microsoft itself... but if you cant find anything... look into google. :-\
 
The fix I listed above worked, so I am in good shape. The thing that caused me the most pain was trying to overwrite the msvcrt.dll. Only the network admins login would allow the overwrite. I created another admin user, but the new user could not access the file. At least its fixed and I am happy. Thanks.
 
Back
Top