• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie binde ich weitere dlls in Wine ein?

rethus

Advanced Hacker
Hi,
ich habe Wine in der Version 0.9.2 (als RPM von SourceForge) installiert.
Nun möchte ich ein Programm starten, das einige eigene dlls mitbringt.

Wenn ich nun wine in der Konsole starte, sagt er:
err:module:import_dll Library ureappshare11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library urectls11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library uresearch11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library urebo11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library ureutil11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library ure11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library mepsappshare11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library mepsctls11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library mepsbrowser11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library mepsgui11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library mepscore11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library wtappshare11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library wtmmutil11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library wtgui11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library wtctls11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:import_dll Library wtutil11.dll (which is needed by L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Programme\\Watchtower\\Watchtower Library 2004\\x\\wtlib.exe" failed, status c0000135

Soweit ich das jetzt gesehen habe, sind das genau die dlls, die das Programm in einem Unterverezeichnis hat.

Wie sage ich nun Wine, das er auch in diesem Unterverzeichnis nach dlls suchen soll? Oder wo soll ich die dlls hinkopieren, damit er sie findet?
 

flo41

Hacker
falls du eine windows-partition drauf hast einfach die dlls von der windows - partition nach $HOME/.wine/drive_c/windows/ kopieren.
 
OP
R

rethus

Advanced Hacker
Hi, auf diese Lösung bin ich zwischenzeitlich gekommen.
Gibts da keinen saubereren Weg. Das System soll ja einigermaßen sauber bleinben, wenn man einzelne Programme wieder deinstalliert.

Und alle dlls aufschreiben, damit ich die wieder löschen kann ist für mich keine alternative :wink:

Gibts nicht irgendwo so ne Art Path-Variable, wo ich Wine sagen kann, das er da nachsehen soll, ob dlls da sind?

Wo würde ich die PATH-Variable setzen?

PS: Ich habe keine config-Datei, ich nutze bereits die Wine-Version(20050930-0.1) mit den Registry-Eintragungen.
 
OP
R

rethus

Advanced Hacker
Ich habe nun mal die Registry unter wine durchsucht...
Nun habe ich herrausgefunden, das alle Dlls, die er eigentlich braucht unter den Schlüssel:
HKEY_LOCAL_MACHINE >> Software >> Microsoft >> Windows >> Current Version >> SharedDll
vorhanden sind.
Warum findet er diese trotzdem nicht ?
=================================================
Nachtrag:
So, nun habe ich es geschafft. Das Programm läuft unter Linux.
Dummerweise musste ich mir eine Eselsbrücke schaffen, die aber die Installation sauber hält.

Ich habe die dlls - die sich in einem anderen - sogar übergeordneten - Verzeichnisstrang befinden (../../MEPSCommon/) in das Verzeichnis der .exe-Datei kopiert.
Damit funzt es nun erstmal. Aber die Frage, ob ich Wine nicht über eine Umgebungsvariable die zu durchsuchenden Pfade mitteilen kann bleibt bestehen.

Freue mich auf Rückmeldungen.
 
OP
R

rethus

Advanced Hacker
Nach vielen Tassen Kaffee und einiges an hin und her-tüfteln, habe ich nun herrausgefunden, wie genau fehlende DLL-Dateien SAUBER in WINE eingefügt werden können.

Vorrausgesetzt, das Ihr eine neuere Wine-Version nutzt (sie muss bereits die system.reg -im .wine-Verzeichnis - enthalten).
In der Datei system.reg findet Ihr (mit Texteditor gehts am schnellsten) den Eintrag PATH suchen. Dort dann Windoof-Konform das gewünschte Verzeichnis anhängen, in dem die DLLs liegen.
Vor der Änderung:
"PATH"="c:\\windows\\system32;c:\\windows“

Nach der Änderung:

"PATH"="c:\\windows\\system32;c:\\windows;c:\\Programme\\Watchtower\\MEPSCommon“

PS: Sollte jemand eine HowTo zur Watchtower Library wünschen, findet Ihr diese unter http://howto.suther.de/.
 

Z-City

Hacker
Hi rethus,

danke für den Tip. Habe gerade zwar was anderes gesucht Wine betreffend. Bei dem Programm bin ich dann aber doch etwas stutzig geworden...

... werde das bei mir auch mal ausprobieren.

DANKE und Gruß
Ben
 

donpedro

Hacker
Hi,

ich nutze ein einziges Programm unter WINE, die "RKS-Suite". Die 5 benötigten Dlls sind im Programmordner der Suite. Ob sauber oder nicht, es funxt.
 
Oben