Emmanuel Stapf [ES]
2/2/2007 2:14:00 AM
Hi,
I have two machines running Windows XP 64-bit. On one machine it works, and on
the other it does not. All my assemblies have been compiled on a Windows 32-bit
platform and I'm trying to execute them on the 64-bit machine. The .exe assembly
has the 32bit flag set (verified through corflags).
When this assembly tries to do a PInvoke call it fails to load our unmanaged DLL
with the DllNotFoundException. Although this is not correct since our DLL is
next to the .exe assembly, and that it works on the other 64-bit machine.
Debugging with WinDbg, I found there was a C++ exception being raised in the
unmanaged code of the .NET runtime and the callstacks had calls to
CorLaunchApplication and GetAddrOfContractShutoffFlag. Looking around it seems
the second call is related to some security settings, but I'm not sure. I've
tried `caspol -s off' and it did not have an effect.
Can you help me figure out what could be wrong with this loading?
Thanks,
Manu