Archiv Altes Windows: 98, SE, ME und NT 16.921 Themen, 62.626 Beiträge

DLLs in`s Programmverzeichnis!

GAndreas / 3 Antworten / Baumansicht Nickles

Hallo,

Das Programm Fotoalbum, das bei meinem Scanner mitgeliefert wurde, und das Grafikprogramm Eclipse nutzen beide dieselbe dll-Datei, aber in unterschiedlichen Versionen (ich glaube es ist die twain_16.dll, tut aber nichts zur Sache). Leider sind die beiden Versionen zueinander nicht so recht kompartibel, so daß eines der beiden Programme immer spinnt, wenn die falsche Datei im Windows-System-Verzeichnis installiert ist.

Da ich den ewigen Versionskonflikt nun satt habe, folgende zwei Fragen (die Festplatten haben ja nun wirklich genug Kapazität):

Wie kann man bei der Installation von Programmen die Anweisung geben, daß die DLLs in das lokale Programmverzeichnis und nicht in das Windowsverzeichnis kopiert werden sollen?
Und wie kann man beim Programmstart die Anweisung geben, daß die lokalen DLLs verwendet werden sollen und nicht die im Windowsverzeichnis?

Gruß
GAndreas

Gerd6 GAndreas „DLLs in`s Programmverzeichnis!“
Optionen

Ich antworte mal nur auf Deine Frage, ungeachtet dessen, ob der Inhalt so
stimmt:
Das könntest Du durch eine (bzw. zwei) kleine batch-Dateien lösen.
Dazu legst Du die beiden .dll-Versionen in unterschiedliche Quellordner.
Vor dem Programmstart führst Du dann die batch aus und die dll, die benötigt wird, wird in das gewünschte Verzeichnis gebracht (ausgetauscht).

Beispiel :

Quelle 1 = c:/Scanner/twain.dll (1.Version)
Quelle 2 = c:/eclipse/twain.dll (2.Version)
Ziel = c:/Win

batch-Datei:

copy c:/scanner/twain.dll c:/win/twain.dll
echo off
echo .
echo .
echo ***************************************
echo .
echo DER Scanner-TREIBER IST JETZT AKTIV
echo .
echo ***************************************


Das Gleiche machst Du mit einer 2. Datei, bloß dann statt Scanner, Eclipse.
Die Quell/Zielverzeichnisse mußt Du selbst bestimmen, also evtl. auch win\system.
Die ganze Geschichte bzgl. echo..... kannst Du weglassen, das ist nur eine Bestätigung auf
dem Monitor. Es kommt nur auf die erste Zeile an. Den beiden Dateien dann jeweils einen Namen geben, wie : scan_dll.bat oder ecli_dll.bat. Kannst Du dann auch als Verknüpfung auf den Desktop ablegen. Komfortabler gehts kaum ;-))

Hoffentlich verstanden, aber aus Deiner Frage glaube ich einiges an Vorkenntnissen rauszulesen, oder ? Sonst bei Bedarf noch mal nachfragen.
PS:
Beim reinkopieren hier in die Antwort wird der backslash nicht angenommen ( warum ?)
Habs einfach durch einen Schrägstrich ersetzt.



hth...Gerd



Der PC-Minister warnt: OC schädigt Rechner und Herz und kann zum vorzeitigen Exitus führen.





Kolti GAndreas „DLLs in`s Programmverzeichnis!“
Optionen

Stell einfach mal fest, welche Versions-Nummern die Twain.DLL Dateien haben.
Dann kopierst Du die höherwertge ins C:\Windows-Verzeichnis.
Die beiden alten benennst DU in den jeweiligen Verzeichnissen um in twain.old

Dann porbiere mal, ob die Programme es tun.

Eine twain_16.dll habe ich nicht auf dem Rechner, nur eine twain.dll.

Wenn das nicht zum Erfolg führt, dann synchronisiere beide Verzeichnisse, so das in beiden die selbe drin ist.

Borlander GAndreas „DLLs in`s Programmverzeichnis!“
Optionen
Und wie kann man beim Programmstart die Anweisung geben, daß die lokalen DLLs verwendet werden sollen und nicht die im Windowsverzeichnis?
Wenn ich mich recht entsinne sollten im Programmverzeichnis liegende DLLs bevorzugt ggü. DLLs ims %windir%\System verwendet werden. Ansonsten mal probieren wenn die Datei nur lokal in den jeweiligen Programmverzeichnissen liegt...