Using this C++ library

1

I'm trying to use an executable file (written in C) that calls a C++ library. I'm getting this error in my Windows Server 2008 box:

Faulting application name: sample.exe, version: 0.0.0.0, time stamp: 0x4d668157
Faulting module name: MSVCR90.dll, version: 9.0.30729.4974, time stamp: 0x4b7a226f
Exception code: 0xc0000417
Fault offset: 0x0002fc96
Faulting process id: 0xf10
Faulting application start time: 0x01cbd45775cc7011
Faulting application path: C:\Bprobe\sample.exe
Faulting module path: C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4974_none_50940634bcb759cb\MSVCR90.dll
Report Id: b37b5e67-404a-11e0-b69c-00155d2fb513

The same EXE file works on Windows 7 and Windows XP, so I'm guessing it's a missing component.

Any ideas?

This doesn't seem to be a problem exclusive to Windows Server 2008. I just tested on Windows XP and got the same error (I do have other Windows XP boxes where it worked).

Gonzalo

Posted 2011-02-24T19:33:44.417

Reputation:

It is, missing DLL (msvcr90.dll). You have to deploy the runtime support DLLs to the machine. – Hans Passant – 2011-02-24T19:42:11.650

Hans, the computer has the c++ runtimes installed (in fact, it has Visual studio 2010 installed with c++). What else can i be missing? – None – 2011-02-24T19:44:46.173

1@Hans, the fact that a version string is there, and it's faulting in the module in question, is proof that msvcr90.dll is present. – bdonlan – 2011-02-24T19:46:56.320

1Should be moved to superuser as Gonzalo is the end-user not developer (no source code) – bdonlan – 2011-02-24T19:47:56.070

1Wrong version of visual studio, VS2010 uses msvcr100.dll. I reckon this code needs to be recompiled. And yes, you'll need the vendor for support, they should give you an installer to get everything needed to make this code work. – Hans Passant – 2011-02-24T19:54:42.757

It's not impossible to mix code from different versions of VS (provided you're careful with which library frees what allocations) - without knowing what library is being used it's premature to blame this on VS2010, especially since it apparently works on windows 7... – bdonlan – 2011-02-24T19:59:34.997

Just to make sure, you can reinstall this library from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en It's rather picky about how it's installed.

– Ben Voigt – 2011-02-24T20:00:56.650

Answers

2

Exception code 0xc0000417 is STATUS_INVALID_CRUNTIME_PARAMETER. Sounds like an invalid parameter was passed to a C runtime function.

I would launch the application under a debugger, with WinDBG or VS if you have it installed on this machine. Set the debugger to break on all first chance exceptions (or you could add in this exception code directly and have it break only on this exception) and when you hit the exception, examine the call stack. Use Microsoft's public symbol server to resolve symbols (it will have the VS 2008 CRT library symbols). Have the .pdb for your .exe present or on the symbol search path.

If frames from your module are anywhere on the call stack, double click the first one starting from the top down. Check to see which C runtime function is being called.

Peter Huene

Posted 2011-02-24T19:33:44.417

Reputation: 121

0

This isn't a missing library issue, but the information you've given is insufficient to even begin to diagnose the problem. Try running the program in a debugger and seeing where it crashes. Most likely either the program or the library you're using is incompatible with Windows 7 - ie, it makes some bad assumptions it was never allowed to make, resulting in crashes when those assumptions turn out not to be true in Win7.

If you do not have source code, try the compatibility wizard (right click exe -> troubleshoot compatibility). If this doesn't help, contact the vendor and have them fix the bug in their program.

bdonlan

Posted 2011-02-24T19:33:44.417

Reputation: 1 463

I don't have the source code, and it does work in windows 7, the problem is in windows 2008. – None – 2011-02-24T19:43:27.717

1No source? Contact the vendor? – James Love – 2011-02-24T19:46:05.007

Already did, he made some suggestions but none of them helped :-( – None – 2011-02-24T19:46:38.373

1@Gonzalo Contact vendor again. It's their problem. – David Heffernan – 2011-02-24T19:49:28.993

1Have you tried attaching in VS2010 anyway to see where it halts? The debugger output might show up in ASM, but if you've no source, you've no real choice. – James Love – 2011-02-24T19:50:03.880