I'm working on a C# program which uses an unmanaged DLL through interop services. This is running on Vista.
It works on most development systems but on some of them I get error 8007007E, DLL not found. The DLL is in the same directory as the executable and on the path so I really don't know where it is looking for it.
It is not a COM DLL so I can't regsvr32 it. Running depends on a C# executable doesn't tell me anything. Looks like everything is dynamically loaded in C#.
1) Is there a way to tell the executable that the DLL is in the same directory and that is where it should be looking
2) Is there a way of telling where the executable is looking for the DLL at runtime - something like strace on Linux.
It works on most development systems but on some of them I get error 8007007E, DLL not found. The DLL is in the same directory as the executable and on the path so I really don't know where it is looking for it.
It is not a COM DLL so I can't regsvr32 it. Running depends on a C# executable doesn't tell me anything. Looks like everything is dynamically loaded in C#.
1) Is there a way to tell the executable that the DLL is in the same directory and that is where it should be looking
2) Is there a way of telling where the executable is looking for the DLL at runtime - something like strace on Linux.