Solved

Dependency walker and VC++ 2010 redist

Posted on 2014-01-21
8
886 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
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
 
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Raspberry Pi 3 to send text message 9 242
Resolve Dependency Issues 4 98
How do i run a c++ file? 15 58
Where does legacy ASP.NET initialize language? 2 102
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…
For most people, the WrapPanel seems like a magic when they switch from WinForms to WPF. Most of us will think that the code that is used to write a control like that would be difficult. However, most of the work is done by the WPF engine, and the W…
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

734 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