Solved

Dependency walker and VC++ 2010 redist

Posted on 2014-01-21
8
811 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
Comment Utility
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
Comment Utility
'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
Comment Utility
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
Comment Utility
That's right - I'm using the wrong dependency walker then.  COOL.  I'll be back!  (said like Arnold).
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 1

Author Closing Comment

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

Expert Comment

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

Author Comment

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

Expert Comment

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

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

772 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

13 Experts available now in Live!

Get 1:1 Help Now