Ich versuche, ein einfaches Programm in Wine unter Ubuntu 14.04 LTS auszuführen, aber es beklagt sich darüber
fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.0" not implemented
fixme:mscoree:parse_probing privatePath=L"assemblies" not implemented
The entry point method could not be loaded
Der Versuch, .NET 4.0 manuell zu installieren, führt zu einem Fehler im Installationsprogramm, der besagt, dass .NET 4.0 bereits installiert ist.
Laufen winetricks forcemono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a
clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing w_do_call forcemono
Executing load_forcemono
Using native override for following DLLs: mscoree
Executing winetricks_early_wine regedit C:\windows\Temp\_forcemono\override-dll.reg
Using override for following DLLs: mscorsvw.exe
Executing winetricks_early_wine regedit C:\windows\Temp\_forcemono\override-dll.reg
Dann schlägt der Versuch, dieselbe Anwendung erneut zu starten, immer noch fehl
err:module:import_dll Library mscoree.dll (which is needed by L"Z:\\home\\<user>\\tmp\\saveedit_r237\\Gibbed.Borderlands2.SaveEdit.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\<user>\\tmp\\saveedit_r237\\Gibbed.Borderlands2.SaveEdit.exe" failed, status c0000135
Ich habe Wine 1.6 und 1.7.30 ausprobiert und beide scheitern. Ist .Net 4.0 tatsächlich implementiert? Oder teilweise umgesetzt? Gibt es eine Möglichkeit, diese .Net 4.0-App zum Laufen zu bringen?
Aktualisieren
Winetricks beschwert sich, dass dotnet40
es auf einem 64-Bit-System nicht installiert werden kann. Wie installiere ich es?
Antworten:
Beachten Sie zuerst diese sehr auffällige Warnung:
Dies weist darauf hin, dass Sie ein 32-Bit-Wineprefix erstellen müssen , da Wine mit 32- Bit-Inhalten besser funktioniert. Dazu muss wine lediglich angegeben werden, welche Architektur verwendet werden soll, bevor seine Befehle ausgeführt werden (dies kann meines Erachtens auch durch Deinstallieren von Wine x86_64 und Installieren erfolgen Wine i386 / i686 - lassen Sie das Terminal für die anderen Wine-Befehle geöffnet, nachdem Sie Folgendes ausgeführt haben :
Dies setzt die Umgebungsvariablen wine reads, bevor es gestartet wird (siehe
man wine
).Es wäre auch eine gute Idee, es zu veranlassen, sein eigenes WINEPREFIX zu erstellen (in dem das virtuelle Wine-Laufwerk gespeichert ist). Standardmäßig ist dies so
~/.wine
, Sie können jedoch für jede Architektur und jedes Programm eigene erstellen. So erstellen Sie ein WINEPREFIX im Verzeichnis/home/USERNAME/.wine-PROGRAM-NAME/
:Das Verzeichnis muss nicht existieren (im Idealfall sollte es nicht existieren, damit das Zeug nicht überschrieben werden muss), aber die übergeordneten Verzeichnisse sollten es wahrscheinlich - Sie sollten auch die Berechtigung haben, darin zu lesen und zu schreiben, und ich nicht Ich denke, das Wineprefix kann aus technischen Gründen auf einem FAT / NTFS-Laufwerk installiert sein (es wird nicht funktionieren) .
So richten Sie ein 32-Bit-Weinpräfix für ein Programm ein:
Sie können durch
PROGRAM-NAME
den Namen des Programms ersetzen , um es später einfacher zu machen, das Programm zu identifizieren. Stellen Sie nur sicher, dass nur Buchstaben und Zahlen enthalten sind, da die Zeichensetzung in verschiedenen Befehlsshells häufig eine spezielle Funktion hat.Sie sollten dann ein Fenster wie das folgende erhalten:
Dann können Sie loslegen. Jetzt können Sie NET 4.0 mithilfe von installieren
winetricks
(möglicherweise möchten Sie zuerst die neueste Version von hier herunterladen):Dies sollte sich im Terminal nach dem
export WINEPREFIX=...
Befehl befinden, oder indem es direkt vor dem wine-Befehl platziert wird (nützlich für App-Starter, die eine Befehlszeile haben) :Sie können auch verwenden
winetricks
einige andere Sachen zu installieren es brauchen könnte - zB Schriftarten (mit den Optionencorefonts
,lucida
,tahoma
). Verwenden Sie, um die Optionen von winetricks aufzulistenwinetricks list-all
.Anschließend können Sie das Programm mit installieren
wine "~/Downloads/PATH/TO/INSTALLER.exe"
. Nochmals (kopieren Sie die Datei und fügen Sie dann die Dateinamen in das Terminal ein, so dass es'/home/wilf/Desktop/name spaces/installer.exe'
nicht so aussiehtfile:///home/wilf/Desktop/name spaces/installer.exe'
) .Sie sollten sicherstellen, dass WINEPREFIX exportiert wurde, bevor Sie diesen Befehl ausführen (insbesondere, wenn Sie das Terminal geschlossen haben) oder in derselben Zeile. Nachdem Sie es zum Laufen gebracht haben (oder nicht), möchten Sie möglicherweise einen Bericht darüber erstellen, wie gut es hier funktioniert (einschließlich dessen, was Sie getan haben usw., damit Sie anderen Menschen helfen können). Wenn Sie Probleme haben und erkennbare Fehler in der Ausgabe auftreten, können Sie einen Fehler melden .
Nach der Installation sollte der Starter der App im Dash / Menü und manchmal auf dem Desktop angezeigt werden. Andernfalls müssen Sie die App möglicherweise in Zukunft mit
export WINEPREFIX=...
undwine ....
(oderenv WINEPREFIX=... wine .....
) erneut ausführen , es sei denn, Sie erstellen einen Launcher (Kommentar unten oder irgendwo, wenn Sie wissen müssen, wie das geht).Weitere Informationen, Fehlerbehebung usw
Wie installiere ich Winetricks?
Mit diesem Befehl können Sie eine Version aus den Ubuntu-Repositorys herunterladen (oder Winetricks aus dem Software Center installieren):
Sie können dann verwenden
winetricks OPTIONS
, um Dinge zu tun.Für die neueste Version können Sie diese Befehle verwenden, um die neueste Version herunterzuladen und zu verwenden:
Beachten Sie
./winetricks <OPTIONS>
, dass Sie es als ausführen müssen, es sei denn, das Verzeichnis befindet sich in der Shell$PATH
.Ich möchte kein Terminal verwenden. Was kann ich tun?
Die App, die Sie verwenden möchten, ist möglicherweise unter PlayOnLinux lauffähig (sollte es sein, wenn Sie sie hier finden ) - dies ist so ziemlich die gesamte GUI und erledigt die meisten Schritte automatisch für Sie.
Andernfalls können Sie das Terminal verwenden es sehr leicht zu tun (Sie haben in der Regel viel mehr Kontrolle , als wenn ein GUI - Programm ist , es zu tun), nur vorsichtig sein , was Sie setzen in (vor allem , wenn es um die Befehle enthält
sudo
,rm
usw.). Versuchen Sie zuerst zu verstehen, was mit jedem Befehl los ist.Außerdem können einige dieser Schritte auf andere Weise durchgeführt werden - beide
winecfg
undwinetricks
offen GUIs , durch die man ein paar Schritte tun können, aber auch hier , was Sie tun können , ist begrenzt.Wie installiere ich die neueste Wine-Version?
Die neueren Weinversionen sind aktueller, sodass das Programm möglicherweise besser ausgeführt werden kann (es sei denn, es liegt eine Regression vor, die sich darauf auswirkt). Um die aktuellste Version (Wine1.7) zu installieren, können Sie den offiziellen Wine PPA verwenden :
Wenn das Paket nicht gefunden wird
wine1.7
, führen Sie den Befehl install erneut mitwine
statt mit auswine1.7
Um Wine generell zu installieren und zu konfigurieren, können Sie diese Frage auch versuchen .
Das Programm, das ich verwenden möchte, wurde für eine neuere Windows-Version entwickelt. Was kann ich tun?
Wine repliziert standardmäßig Windows XP, das von einigen Programmen nicht unterstützt wird, da es sich um EOL handelt (was ich als nützlich erachte, da Sie wahrscheinlich Programme für WinXP unter Wine unter Linux ausführen können und Sie WinXP aus dem Orbit "nuken" können :)
Öffnen Sie zunächst das Wine-Konfigurationsfenster:
Wo
~/.wine-PROGRAM-NAME/
ist das WINEPREFIX, das Sie zuvor erstellt haben?Wählen Sie im unteren Bereich der Registerkarte "Anwendungen" die zu replizierende Windows-Version aus. Versuchen Sie dann erneut, die App zu installieren.
WINDOWS-VIREN UNTER WEIN?!?!
Möglicherweise . Installieren Sie keine zufällige Software aus dem Internet. Stellen Sie sicher, dass diese von einer vertrauenswürdigen Site stammt.
quelle
WINEARCH
in mein.bashrc
Skript schreiben, dann~/.wine
komplett löschen und fortfahrenwinetricks dotnet40
. Es funktioniert jetzt. Vielen Dank!