When an entrypoint is missing, depends.exe shows the Dll icon in shaded
red (pink?) and you see an error with text "At least one module has an
unresolved import due to a missing export function in an implicitly
dependent module". I couldn't remember how obviously the error showed,
but I just tried it.
Can you zip up your Dll and send it as an attachment? Tell us your
target OS where it fails because that matters.
Phil Wilson
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 15, 2007 2:01 PM
To: Wilson, Phil; WiX-users@lists.sourceforge.net
Subject: RE: [WiX-users] CustomAction = .VC Runtime Dependency?
The dependency walker doesn't use any unusual Dlls. If you haven't
already tried this, get to a system where your custom action Dll fails,
just copy depends.exe and your Dll onto it and see what it says about
any missing dependencies.
The only missing dll is MSJAVA.dll, which is not an issue as far as I
understand.
My preference with included libs and h files is to make sure that they
are compatible, and I prefer the SDK to take preference over Visual
Studio. I'd put the R2 directory at the top for h and lib if R2 was my
target base OS.
I ordered my "additional library directories"
"C:\Program Files\Microsoft Platform SDK for Windows Server 2003
R2\Lib";
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib";
"C:\Program Files\Microsoft Visual Studio 8\VC\lib";
"C:\Program Files\Windows Installer XML v3\SDK\lib"
and my "additional include directories"
"C:\Program Files\Microsoft Platform SDK for Windows Server 2003
R2\Include";
"C:\Program Files\Windows Installer XML v3\SDK\inc"
The installer needs to run on XP and Vista. I'm using the 2003 R2 SDK
because it was the newest SDK I saw, and was always pushed to the
forefront when I searched Microsoft's site. Will that cause a problem
when running on XP?
Because the dll works to a degree when dynamically linked to the CRT,
and doesn't work at all when statically linked, I'm thinking that
libcmt.lib is a good suspect. One thing I've noticed, and maybe this is
expected, is that my 2003 SDK Lib directory doesn't contain libcmt.lib.
The AMD64 and IA64 subdirectories do, though.
So with the above library directory sequence, libcmt.lib will be found
in the VS8 SDK lib directory, while other dependencies (msi.lib,
shlwapi.lib, and advapi32.lib) are all found in the 2003 SDK directory.
Does that sound like a problem?
It's not just that dependent Dlls need to be present - it's also all the
exports that have to match the lib you included.
How would one go about verifying this?
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users