SystemPath
-
Hallo,
ein Hardwarhersteller stellt eine Lib mit Headern zur verfügung.
Seine Treiber Software installiert sich in Programme wo auch dem seine DLL's liegen.
Nun liegt meine Software an einem anderen Ort, nur im Spezailfall wird dem seine
Hardware benötigt, ich kann also nicht dem seine DLL's in's setup packen.Wie soll meine Anwendung nun den Path für die DLL's erweitern die werden
mit einer Lib früh gebunden.Selbst wenn ich den Systempath erweitern würde was schon ein Verbrechen ist,
würde das erst nach einem Neustart gültig werden.Ist der einzigste Weg nun dem seine DLL's dynamisch zu binden, das möchte ich natürlich vermeiden, ändert der etwas muss ich auch gleich nachbessern.
Ich könnte auch dem seine dll's nach system32 kopieren auch das ist ein verbrechen
Danke für Hinweise
Karsten
-
Hi,
ich würde eine Kombination von /DELAYLOAD und SetDllDirectory() versuchen. Falls das nicht geht, bliebe noch, einen Registry-Eintrag in den AppPtahs für Deine installierte App zu erstellen. Müsste allerdings Dein Installer (oder eine Hilfsapp mit RequireAdmin-Manifest) machen.
Gruss,
Matthias
-
Hallo danke für deien Antwort,
SetDllDirectory() den kannte ich nich nicht
Ich habe dann temporär das Verzeichnis vor dem DLL Laden geändert
und im anschluß wieder zurück gestellt, den Pfad muss sich
das Prog bisweilen aus einer Ini holen, das registry scannen
ergab das nicht einwandfrei schnell gefunden werden kann was da gesucht ist.Viel Erfolg
K.