it-swarm.com.de

Ausführen der .Net 4.0-Anwendung mit Wine

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.

winetricks forcemono ausführen

------------------------------------------------------
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

Wenn Sie dann versuchen, dieselbe Anwendung erneut zu starten, schlägt noch mit 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 nicht auf einem 64-Bit-System installiert werden kann. Wie installiere ich es?

17
Yanick Rochon

Beachten Sie zuerst diese sehr auffällige Warnung:

_------------------------------------------------------
You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a
clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
_

Dies weist darauf hin, dass Sie ein 32-Bit-Wineprefix erstellen müssen , da Wine mit 32-Bit-Inhalten besser funktioniert. Dazu müssen Sie wine einfach mitteilen, welche Architektur verwendet werden soll, bevor Sie die Befehle ausführen. (dies kann meines Erachtens auch durch Deinstallieren von Wine x86_64 und Installieren von Wine i386/i686 geschehen - lassen Sie das Terminal trotzdem für die anderen wine-Befehle offen, nachdem Sie dies ausgeführt haben) :

_export WINEARCH="win32"
_

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 _~/.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/_:

_export WINEPREFIX=~/.wine-PROGRAM-NAME/
_

Das Verzeichnis muss nicht existieren (idealerweise 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 sein (es wird nicht funktionieren) .

So richten Sie ein 32-Bit-Weinpräfix für ein Programm ein:

_export WINEARCH="win32"
export WINEPREFIX=~/.wine-PROGRAM-NAME/
wineboot -u
_

Sie können _PROGRAM-NAME_ durch 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:

the wineprefix is being updated....

Dann können Sie loslegen. Jetzt können Sie NET 4.0 mit winetricks installieren (möglicherweise möchten Sie zuerst die neueste Version von hier herunterladen):

_winetricks dotnet40
_

Dies sollte sich im Terminal nach dem Befehl _export WINEPREFIX=..._ befinden, oder indem es direkt vor dem Befehl wine platziert wird. (nützlich für App-Starter, die eine Befehlszeile haben) :

_env WINEPREFIX=~/.wine-PROGRAM-NAME/" winetricks dotnet40
_

Sie können auch winetricks verwenden, um andere Dinge zu installieren, die möglicherweise benötigt werden - z. Schriftarten (mit den Optionen corefonts, lucida, tahoma). Verwenden Sie _winetricks list-all_, um die Optionen von Winetricks aufzulisten.

Anschließend können Sie das Programm mit _wine "~/Downloads/PATH/TO/INSTALLER.exe"_ installieren. Nochmals (kopiere die Datei, dann 'Dateinamen einfügen' in das Terminal, so dass es aussieht wie _'/home/wilf/Desktop/name spaces/installer.exe'_ nicht _file:///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 vielleicht hier einen Bericht darüber erstellen, wie gut es 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=..._ und _wine ...._ (oder _env WINEPREFIX=... wine ....._) erneut ausführen, es sei denn, Sie erstellen einen Starter (comment) unten oder irgendwo, wenn Sie wissen müssen, wie es 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):

_Sudo apt-get install winetricks
_

Sie können dann _winetricks OPTIONS_ verwenden, um Dinge zu erledigen.

Für die neueste Version können Sie diese Befehle verwenden, um die neueste Version herunterzuladen und zu verwenden:

_wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks 
_

Beachten Sie, dass Sie es als _./winetricks <OPTIONS>_ ausführen müssen, es sei denn, das Verzeichnis befindet sich im Shell-Verzeichnis $PATH .

Ich möchte kein Terminal verwenden. Was kann ich tun?

Die App, die Sie verwenden möchten, kann unter PlayOnLinux ausgeführt werden (sollte sein, wenn Sie sie hier finden ) - das ist hübsch viel alle GUI und erledigt automatisch die meisten Schritte für Sie.

Andernfalls können Sie das Terminal sehr einfach verwenden (normalerweise haben Sie viel mehr Kontrolle als bei einem GUI-Programm). Seien Sie jedoch vorsichtig, was Sie eingeben (insbesondere, wenn es die Befehle Sudo, rm usw. enthält). Versuchen Sie zuerst zu verstehen, was mit jedem Befehl los ist.

Einige dieser Schritte können auch auf andere Weise ausgeführt werden - sowohl winecfg als auch winetricks öffnen GUIs, über die Sie einige Schritte ausführen können, aber 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 das offizielle Wine-PPA verwenden:

_Sudo apt-add-repository ppa:ubuntu-wine/ppa
Sudo apt-get update
Sudo apt-get install wine1.7
_

Wenn das Paket _wine1.7_ nicht gefunden wird, führen Sie den Installationsbefehl erneut aus, jedoch mit wine anstelle von _wine1.7_

Um Wine generell zu installieren und zu konfigurieren, können Sie auch versuchen diese Frage .

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:

_export WINEPREFIX=~/.wine-PROGRAM-NAME/
winecfg
_

Wobei _~/.wine-PROGRAM-NAME/_ das WINEPREFIX ist, 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.

26
Wilf