manifest woes
- From: Hendrik Schober <Spamtrap@xxxxxx>
- Date: Thu, 06 Nov 2008 19:04:18 +0100
Hi,
I'm porting the Windows version of a C++ application from VC7.1 to
VC9. After I got rid of the tens of thousands of spurious warnings
about "deprecated" functions from the RTL and fixed numerous other
issues I am now banging my head against manifest issues.
The app depends on two dozen DLLs, most of which I don't own. Except
for some 3rd-party libs that come with solutions, the build is done
at the command line, using a bunch of (platform-independent) tools.
From what I've read it seems that the executable and all the DLLs it
depends on need manifests which specify the RTL versions. Is that
true?
The app doesn't load. When I look at that using depends.exe, I get
unresolved references to "MSVC?90*.DLL" in the executable itself as
well as in some of the DLLs. (I suppose depends.exe -- I have 2.2.6,
which is the newest from the web site -- does know how to deal with
this side-by-side stuff?)
So I figured those DLLs would need a manifest. Interestingly, some
of them are build from a solution and their project indeed specifies
that manifests should be generated and that the manifest tool should
embed it. When I manually use the manifest tool, however, it seems
unable to extract any manifest from those DLLs, so it seems none got
embedded.
The mt command line in the IDE shows that, contrary to all examples
I've seen, it tries to embed the manifest as resource #2, not #1, and
I don't see any way to change this. I suppose this doesn't matter?
I used mt.exe to manually embed the ones the linker emitted. However,
this doesn't help either. The tools I have at hand still show those
unresolved dependencies and the app doesn't load either.
When I open the executable as a project from within in the IDE and
start it from there, I'll get a run-time error due to "MSVCR90.dll"
(or "MSVCR90D.dll" for the debug version) being missing.
As always, MSDN has tons of information on manifests, but most of it
seems to be related to .NET stuff ("assemblies"?) and I can't find
anything helping me making progress.
<sigh>
I spent a whole day on this and I'm out of ideas now. What do
I have to do to get this working?
TIA,
Schobi
.
- Follow-Ups:
- Re: manifest woes
- From: Tim Roberts
- Re: manifest woes
- From: Paavo Helde
- Re: manifest woes
- Prev by Date: Re: Downloading files using BITS gives Transient Error
- Next by Date: Re: Requesting sample code!
- Previous by thread: Downloading files using BITS gives Transient Error
- Next by thread: Re: manifest woes
- Index(es):
Relevant Pages
|