Solved

Dependency walker and VC++ 2010 redist

Posted on 2014-01-21
8
836 Views
Last Modified: 2014-01-21
Hi Experts,
I'm trying to run NSS certutil without installing the VC++2010 redist that it requires by placing the DLLs it needs in the same folder as my exe.  We have no choice- we cannot run the installer as standard user without elevating to admin.

That being said, I've copied the following DLLs to the same folder as certutil.exe (an exe from NSS):  [ mfc100.dll, mfc100u.dll, msvcr100.dll, msvcp100.dll, msvcr100_clr0400.dll ]

I am still not able to execute certutil.exe properly - getting an exception at startup (Exception 0xc000007b).

Dependency walker has various errors:
- At least one module has an unresolved import due to a missing export function in an implicitly dependent module
- Modules with different CPU types were found.

I got my DLLs from the C:\WINDOWS\SYSTEM32 folder of a virtual machine with the exact same image of my current machine (with the VC++ 2010 redist installed).  So I'm wondering if the different CPU type error is a false positive.

There are 2 DLLs directly below my exe in dependency walker shown in red (MSVCR100.DLL and KERNEL32.DLL).

Do I have to include every single DLL that is in red in other subtrees as well?  How much faith should I put in dependency walker?

Thanks for any help!
Mike
0
Comment
Question by:thready
  • 4
  • 4
8 Comments
 
LVL 1

Author Comment

by:thready
ID: 39797188
Here's what shows in dependency walker.  Note that the nodes directly below Certutil (NSSUtil3.dll, etc) also have some red nodes when expanded as well, but the bulk of it seems to be what I'm showing in the image...
depends.png
0
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 39797270
'0xc000007b' in fact is 'STATUS_INVALID_IMAGE_FORMAT', so it seems that this isn't a false positive. Yet the reason can be something simple, you will get that message as well when opening a x86 module with the x64 version of the Dependency Walker and vice versa. Could that be the case? I.e. if you are examining a x86 module, don't use the x64 depends.exe.
0
 
LVL 86

Expert Comment

by:jkr
ID: 39797274
Oh, and if that still is an issue, try DW's 'Save as...' option to save and post a .dwi file, that gives much more information than a screenshot.
0
 
LVL 1

Author Comment

by:thready
ID: 39797275
That's right - I'm using the wrong dependency walker then.  COOL.  I'll be back!  (said like Arnold).
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 1

Author Closing Comment

by:thready
ID: 39797334
Wow.  Nice clean dependency walker now.  Problem fixed.  Thanks yet again.  How many beers is that?  :o)
0
 
LVL 86

Expert Comment

by:jkr
ID: 39797339
Still way too eary for beer for me :-D - a tall Cappuccino maybe?
0
 
LVL 1

Author Comment

by:thready
ID: 39797552
It's past noon in some parts of the world....
0
 
LVL 86

Expert Comment

by:jkr
ID: 39797579
Noon would still be too early for beer - for me only after dinner ;o)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now