Wie am besten DLL Suchordner setzen?



  • Hallo,

    Ich habe 3 Executables, die alle von mehreren DLLs abhaengen. Die DLLs befinden sich alle in einem Ordner (jedoch in einem anderen als die Executables). Wenn ich jetzt eines der Executables starte, findet Windows natuerlich nicht die DLLs.

    Was ist die beste Methode, um dem Loader meinen DLL Ordner bekannt zu geben? Per Hand PATH Variable setzen?



  • DLLer2 schrieb:

    Was ist die beste Methode, um dem Loader meinen DLL Ordner bekannt zu geben?

    Die dlls dort platzieren, wo der Loader danach sucht, also z.B. im Ordner wo die exe liegt...

    Ansonsten kann man vermutlich über das Manifest was machen...



  • DLLer2 schrieb:

    Per Hand PATH Variable setzen?

    japp



  • Was vershet Ihr unter "per Hand" ? 😃

    Klar kannst die "PATH" erweitern.
    kommt drauf an wie "flexibel" du es brauchst.
    Einmal "eintragen" unter windows, geht per hand, aber auch per setup .... wenn möglich. Setup kann aber auch Suchen, wenn möglich ....

    Wenn es C-Dlls (also C-Schnittstelle, binaer definiert, versionskompatibel) sind, ist dieses vorgehen legitim.
    Aber auch, wenn die Lizenz der dlls um die es geht, ein vertrieb deinerseits nicht zulassen.

    Sind es aber Dlls die andere Programme auch brauchen koennten und haben c++ schnitstellen (nicht binaer definiert) würd ich von abraten und die immer ins Programmverzeichniss oder drunter packen ...

    DU kannst die PATH auch in deinem Programm anfassen, gilt dann nur für dein prog ! was manchmal recht praktisch ist ...

    Vorsicht, für windows 2000 + systeme gibts ne einstellung, womit du das laden von dlls ausm PATH verhindern kannst. Soll wohl nen besonders sicherheitskritischer modus sein, da laeuft dann aber auch nicht mehr viel ^^

    Generell, wenn nichts expliziet dagegen spricht, wuerd ich dlls ins App verzeichniss legen.
    Hasst du dlls und exe in der Hand würd ich das loadlibrary aufbohren, auf nen pluginmechanismus, oder zumindest nur um ein eigenes Pathhandling ... musst dann aber auf "komfortable importlibs" verzichten ...

    Ciao ...



  • RHBaum schrieb:

    DU kannst die PATH auch in deinem Programm anfassen, gilt dann nur für dein prog ! was manchmal recht praktisch ist ...

    Das bringt nur leider recht wenig, wenn das Programm statisch gegen diverse DLLs gelinkt ist.

    Vorsicht, für windows 2000 + systeme gibts ne einstellung, womit du das laden von dlls ausm PATH verhindern kannst. Soll wohl nen besonders sicherheitskritischer modus sein, da laeuft dann aber auch nicht mehr viel ^^

    Echt? Wäre mir ganz neu. Hast du irgendwelche Links dazu? Ich glaub' nämlich eher dass du das mit einem anderen Feature verwechselst, welches bloss die Reihenfolge ändert in der gesucht wird.



  • ...





  • @Swordfish
    Ja das ist das wovon ICH rede (Suchreihenfolge ändern), aber nicht das was RHBaum behauptet hat ("das laden von dlls ausm PATH verhindern").


Anmelden zum Antworten