I wrote a C ++ / CLI DLL using VS2012. My C ++ / CLI DLL wraps a third-party DLL. In turn, I think that a third-party third-party DLL uses a bunch of other DLLs provided by the same third-party package. There's a redistribute directory that contains a bunch of DLLs and things that this native DLL package uses.
In any case, when I add this redistribution directory on the PATH system, on Windows I can load my C ++ / CLI library in a separate application with the C # GUI.
When distributing this application, however, I do not want to require the user to change their PATH. Retrieving this redistribution directory from PATH causes my C ++ / CLI DLL to not load with a FileNotFound error. I am sure that he found my DLL, because it is in the same directory, but I think that it can not find the DLL on which mine depends. I canβt configure PATH at runtime in my graphical application because it doesnβt work before calling main, when loading my CLI DLL.
I tried adding <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><probing privatePath="lib"/></assemblyBinding> in app.config and put all the DLLs in the libsibibib directory, but this, doesn't seem to fix it. I think this cannot be fixed, because it just speaks of a C # GUI application, where you can find the CLI DLL, but does not tell the CLI DLL where to find its depot, right?
Any ideas how I can fix this?
source share