Wie lassen sich fehlende Windows-Systemdateien (DLLs) in einer Wine-Umgebung manuell nachinstallieren?
Das Nachinstallieren von fehlenden DLL-Dateien in Wine ist ein häufiger Vorgang, da Wine aus rechtlichen Gründen nicht alle originalen Microsoft-Bibliotheken mitliefern darf.
Hier sind die drei gängigsten Methoden, um fehlende DLLs zu ergänzen:
Methode 1: Der einfachste Weg via winetricks (Empfohlen)
winetricks ist ein Hilfsskript, das bekannte Bibliotheken (wie DirectX, Visual C++ Redistributables, .NET) automatisch aus sicheren Quellen herunterlädt und korrekt konfiguriert.
- Installation: Falls nicht vorhanden, installiere es (z. B.
sudo apt install winetricks). - DLL installieren: Wenn du weißt, welches Paket die DLL enthält (z. B.
vcrun2015für diemsvcp140.dll), gib folgendes im Terminal ein:WINEPREFIX=~/.wine winetricks vcrun2015(Ersetze
~/.winedurch den Pfad deines spezifischen Wine-Prefixes, falls du mehrere nutzt).
Methode 2: Manuelles Kopieren der DLL
Wenn die DLL nicht über Winetricks verfügbar ist oder du eine ganz spezifische Datei hast:
- Datei finden: Besorge dir die DLL von einer vertrauenswürdigen Quelle (am besten von einer bestehenden Windows-Installation oder einem offiziellen Installer).
- Warnung: Vermeide dubiose "DLL-Download-Seiten" im Internet (Malware-Gefahr).
- In das Wine-Verzeichnis kopieren:
- 32-Bit DLLs: Kopiere sie nach
~/.wine/drive_c/windows/system32(odersyswow64, falls es ein 64-Bit Prefix ist). - 64-Bit DLLs: Kopiere sie nach
~/.wine/drive_c/windows/system32. - Hinweis: Bei Wine-Prefixen ist die Ordnerstruktur manchmal verwirrend. Im Zweifel ist der Ordner der Anwendung selbst (dort, wo die
.exeliegt) oft der sicherste Ort für eine manuelle DLL.
- 32-Bit DLLs: Kopiere sie nach
Methode 3: DLL-Overrides konfigurieren (Wichtig!)
Selbst wenn die Datei im Ordner liegt, nutzt Wine oft lieber seine eigenen "Builtin"-Versionen (Nachbauten). Du musst Wine anweisen, die "Native" (die echte Windows-) DLL zu bevorzugen.
- Öffne die Wine-Konfiguration für deinen Prefix:
WINEPREFIX=~/.wine winecfg - Gehe zum Reiter Bibliotheken (Libraries).
- Gib unter Neue Überschreibung für: den Namen der DLL ein (z. B.
msvcr120) und klicke auf Hinzufügen. - Die DLL erscheint in der Liste. Standardmäßig steht dort meistens
(native, builtin). Das bedeutet, Wine sucht zuerst nach der echten Datei und nutzt erst dann den Nachbau. - Klicke auf Anwenden und OK.
Fehlerbehebung: 32-Bit vs. 64-Bit
Ein häufiger Fehler ist das Mischen der Architekturen.
- Wenn dein Programm eine 32-Bit-Anwendung ist, benötigt es zwingend die 32-Bit-Version der DLL, auch wenn du auf einem 64-Bit-Linux arbeitest.
- In einem 64-Bit Wine-Prefix (Standard) kommen 64-Bit-Systemdateien ironischerweise in den Ordner
system32und 32-Bit-Systemdateien in den Ordnersyswow64(genau wie bei echtem Windows).
Zusammenfassung: Welches Paket für welche DLL?
Hier sind einige häufig gesuchte DLLs und ihre Winetricks-Namen:
- msvcp, msvcr:
winetricks vcrun2015(oder 2013, 2010 etc.) - d3dx9_, xinput:
winetricks d3dx9oderwinetricks directx9 - .NET Framework:
winetricks dotnet48 - *mfc:*
winetricks mfc42
Pro-Tipp: Wenn du wissen willst, welche DLL genau fehlt, starte das Programm über das Terminal: wine programm.exe. Die Fehlermeldungen dort sagen dir meist präzise: “err:module:import_dll Library X.dll not found”.