Ok. Now profile (run) the program under depends.exe on the machine having
problems. Compare that to a run on a working machines and I bet you find what
you need.
-D
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED]
Sent: Tuesday, May 15, 2007 2:01 PM
To: [EMAIL PROTECTED]; 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