Dlls in Unterordner
-
Hallo Zusammen,
ich habe gerade glaub ich eine ganz einfache Frage, bin aber schon ewig am suchen und find nix..
Ich habe ein Programm geschrieben das externe .dlls einbindet. Ich kann erstellten Release leider nur ausführen, wenn ich die .dlls im Verzeichnis der .exe Datei liegen habe.
Ich möchte die .dlls aber in einen Unterordner stecken, damits ordentlicher ausschaut.
Wie krieg ich das nun im Release unter, dass der in dem entsprechenden Verzeichnis danach sucht?Ich habe es schon mit dem Eintrag
PATH=%PATH%;$(TargetDir)\bin
unter Umgebung bei den Projekteigenschaften versucht.
Das hat leider nicht funktioniert.Hat jemand eine Idee?
Danke schonmal...
-
Es müsste über ein privates Manifest gehen:
http://msdn.microsoft.com/en-us/library/aa375150(VS.85).aspxSiehe auch dieser Thread
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9a70abb2-ee8e-4c91-8d88-cdb213c5832e
-
So...ich habe es mit SetDllDirectory() ausprobiert, aber das hat nicht funktioniert. Wahrscheinlich, weil die .dlls, die das Programm benötigt, direkt bei Programmaufruf einbezogen werden.
Ich werde die .dlls jetzt im Ordner der .exe lassen. Ist bei anderen Programmen auch so gehandhabt worden. Find ich nicht so schick, aber passt schon.
Das private Manifest habe ich nicht ausprobiert.
-
Lies bitte den Thread. Die DLLs müssen Delayload markiert sein und erst verwendet werden nachdem die EXE SetDllDirectory ausgeführt hat.