Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Dependency walker and VC++ 2010 redist

Posted on 2014-01-21
8
Medium Priority
?
940 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 2000 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

For a while now I'v been searching for a circular progress control, much like the one you get when first starting your Silverlight application. I found a couple that were written in WPF and there were a few written in Silverlight, but all appeared o…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of this video is to provide viewers with basic examples to understand opening and reading files in the C programming language.
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

721 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