Home / Hardware / Drivers / strange errors when driver wasn't not able to update properly
0 Members and 4 Guests are viewing this topic. « previous next »
Pages: 1 [2]  All - (Bottom) Print
Author Topic: strange errors when driver wasn't not able to update properly  (Read 447 times)
patio
Moderator
Genius



Thanked: 1069
Posts: 11,351

Experience: Beginner
OS: Windows 7


Maud' Dib

« Reply #15 on: December 25, 2011, 10:01:59 PM »

See Above...
IP logged

   
"
All generalizations are false, including this one.  "
2x3i5x
Expert



Thanked: 116
Posts: 2,163

Computer: Specs
Experience: Familiar
OS: Windows Vista

« Reply #16 on: December 25, 2011, 11:50:06 PM »

has it been suggested to try and uninstall drivers and then attempt reinstall to see if things would be properly installed this time around?
IP logged
BC_Programmer
Mastermind


Thanked: 697
Posts: 15,876

Computer: Specs
Experience: Beginner
OS: Windows 7


Pinkie Pie is best pony

BC-Programming.com 1 1
« Reply #17 on: December 26, 2011, 12:20:53 AM »

On my Win7 System:

Code: [Select]
C:\Windows\System32>dumpbin /exports msvcrt.dll | find /i "_except_handler4_common"
       
        346   159 00023E27 _except_handler4_common

File Version of the file is 7.0.7600.16385

running the same command on a fully patched XP SP3 system- I get nothing. No _except_handler4_common is exported in the XP version. (file version for that one is 7.0.2600.5701, btw).


I also tried installing the VC++ 2008 and 2010 redistributables but neither one updated the file.

However. The exception function being called clearly marks it as a Exception handler; the number (4) and the fact that there are in fact similar exports for 3, 2, and 1 in the file led me to believe that it may be that the file msvcrt.dll isn't considered to be part of the c-runtime (in fact, most systems I've seen, it is only updated by the OS or service packs). So, those wouldn't be changed regardless. This leads me to think (further) that it's related to a compile-time option, whereby you can choose to either statically link the C Runtime, or dynamically link to it as a dll, in the latter case, most programs will link against msvcrt.dll- and thus the problem, since depending on the version of the C run-time .lib file that is being used, it will try to link against functions that don't exist in earlier versions of windows.



The answer, from what I can gather, is that the programs were compiled wrong. they aren't supposed to link against msvcrt.dll- they should be linking against msvcr80.dll (or the appropriate version for the compiler in use). msvcrt.dll is only to be linked against by window applets and components. Additionally, it should not be updated by anything other than service packs or KB hotfixes. (this includes things like the redistributables).

The problem therefore, has several causes- either the software is stupidly(not surprising given the software in question) linked against msvcrt.dll for no good reason, or, more likely, there is some other component or DLL copied from a Vista system onto the XP system, possibly in the hopes of "upgrading" it, and of course the Vista/7 file depends on the Vista/7 OS version of the dll.
IP logged

My Blog

BASeBlock 2.3.0 (NOW WITH MACGUFFINS!)
Pages: 1 [2]  All - (Top) Print 
Home / Hardware / Drivers / strange errors when driver wasn't not able to update properly « previous next »
 


Login with username, password and session length

Old Forum Search | Forum Rules
Copyright © 2010 Computer Hope ® All rights reserved.
Powered by SMF 2.0 RC3 | SMF © 2006–2010, Simple Machines LLC
Page created in 0.103 seconds with 19 queries.