Uruchamianie aplikacji .Net 4.0 z Wine


17

Próbuję uruchomić prosty program w Wine pod Ubuntu 14.04 LTS, jednak to narzeka

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

Próba ręcznej instalacji .Net 4.0 powoduje błąd w instalatorze, mówiąc, że .Net 4.0 jest już zainstalowany.

Bieganie 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

Następnie próba ponownego uruchomienia tej samej aplikacji nadal nie powiedzie się

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

Próbowałem Wine 1.6 i 1.7.30 i oba zawiodły. Czy .Net 4.0 jest faktycznie zaimplementowany? Lub częściowo wdrożony? Czy istnieje sposób, aby ta aplikacja .Net 4.0 działała?

Aktualizacja

Winetricks narzeka, że dotnet40nie można go zainstalować w systemie 64-bitowym. Jak to zainstalować?


Czy możesz dodać szczegóły dotyczące tego programu i dla jakiej wersji systemu Windows jest on przeznaczony?
Wilf

Odpowiedzi:


27

Po pierwsze, zwróć uwagę na to bardzo zauważalne ostrzeżenie:

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

Oznacza to, że musisz utworzyć 32-bitowy Wineprefix , ponieważ Wine działa lepiej z 32 -bitowymi rzeczami - można to zrobić po prostu uruchamiając polecenie wine, aby powiedzieć, jakiej architektury użyć przed uruchomieniem poleceń (myślę, że można to również zrobić, odinstalowując Wine x86_64 i instalując Wine i386 / i686 - w każdym razie pozostaw terminal otwarty dla innych poleceń wina po uruchomieniu tego) :

export WINEARCH="win32"

To ustawia zmienne środowiskowe, które wino czyta przed uruchomieniem (patrz man wine).

Byłoby również dobrym pomysłem, aby stworzyć własny WINEPREFIX (w którym przechowywany jest wirtualny dysk Wine). Domyślnie jest tak ~/.wine, ale możesz utworzyć osobne dla każdej architektury i programu - aby utworzyć WINEPREFIX w katalogu /home/USERNAME/.wine-PROGRAM-NAME/:

export WINEPREFIX=~/.wine-PROGRAM-NAME/

Katalog nie musi istnieć (najlepiej nie powinien istnieć, więc nie trzeba go nadpisywać), ale katalogi nadrzędne prawdopodobnie powinny - należy również mieć uprawnienia do odczytu i zapisu, a ja nie myślę, że prefiks wine może znajdować się na dysku FAT / NTFS z przyczyn technicznych (nie będzie działać) .

Aby skonfigurować 32-bitowy prefiks wina dla programu:

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

Możesz zastąpić PROGRAM-NAMEnazwą programu, aby ułatwić późniejszą identyfikację programu. Upewnij się tylko, że zawiera tylko literę i cyfry, ponieważ interpunkcja często ma specjalną funkcję w różnych powłokach poleceń.

Powinieneś dostać takie okno:

prefiks wine jest aktualizowany ....

Jesteś gotowy do pracy. Teraz można zainstalować .NET 4.0 używając winetricks(możesz pobrać najnowszą wersję ze tutaj pierwszy):

winetricks dotnet40

Powinno to znajdować się w terminalu po export WINEPREFIX=...poleceniu lub przez umieszczenie go tuż przed poleceniem wine jako takim (przydatne dla programów uruchamiających aplikacje w jednym wierszu poleceń) :

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

Można również użyć winetricks, aby zainstalować kilka innych rzeczy to może potrzebujesz - np czcionek (używając opcji corefonts, lucida, tahoma). Aby wyświetlić listę opcji Winetricks, użyj winetricks list-all.

Następnie możesz zainstalować program za pomocą wine "~/Downloads/PATH/TO/INSTALLER.exe". Jeszcze raz (skopiuj plik, a następnie „Wklej nazwy plików” do terminala, więc wygląda na to, że '/home/wilf/Desktop/name spaces/installer.exe'nie file:///home/wilf/Desktop/name spaces/installer.exe') .

Upewnij się, że WINEPREFIX został wyeksportowany przed uruchomieniem tej komendy (szczególnie jeśli zamknąłeś terminal) lub w tym samym wierszu. Po włączeniu go do pracy (lub nie pracy) możesz zrobić raport na temat tego, jak dobrze tu działa (w tym co zrobiłeś itp., Aby pomóc innym osobom). Jeśli masz problemy i na wydruku pojawią się zauważalne błędy, możesz zgłosić błąd .

Po zainstalowaniu powinien powodować uruchamianie aplikacji w Dash / Menu, a czasem także na pulpicie. W przeciwnym razie w przyszłości, aby uruchomić aplikację, może być konieczne ponowne uruchomienie aplikacji za pomocą export WINEPREFIX=...i wine ....(lub env WINEPREFIX=... wine .....), chyba że utworzysz program uruchamiający (komentarz poniżej lub gdzieś, jeśli musisz wiedzieć, jak to zrobić ...)


Więcej informacji, rozwiązywanie problemów itp

Jak zainstalować Winetricks?

Możesz wykonać wersję z repozytoriów Ubuntu za pomocą tego polecenia (lub instalując Winetricks z Software Center):

sudo apt-get install winetricks

Następnie możesz użyć winetricks OPTIONSdo zrobienia różnych rzeczy.

W najnowszej wersji możesz użyć tych poleceń, aby pobrać i użyć najnowszej wersji:

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

Pamiętaj, że musisz go uruchomić jako ./winetricks <OPTIONS>, chyba że katalog znajduje się w powłoce $PATH.

Nie chcę używać terminala, co mogę zrobić?

Aplikację, której chcesz użyć, można uruchomić pod PlayOnLinux (tak powinno być, jeśli znajdziesz ją tutaj ) - to prawie wszystkie GUI i automatycznie wykonuje większość kroków za Ciebie.

W przeciwnym razie, można użyć terminal to zrobić bardzo łatwo (zwykle mają znacznie większą kontrolę niż gdyby program GUI to robi), po prostu uważać, co można umieścić w (zwłaszcza jeśli zawiera polecenia sudo, rmitp). Najpierw spróbuj zrozumieć, co się dzieje z każdym poleceniem.

Ponadto niektóre z tych kroków można wykonać na inne sposoby - zarówno otwarte, jak winecfgi winetricksGUI, dzięki którym można wykonać pewne kroki, ale znowu to, co można zrobić, jest ograniczone.

Jak zainstalować najnowszą wersję Wine?

Nowsze wersje wina są bardziej aktualne, więc może być w stanie lepiej uruchomić program (chyba że ma to wpływ na regresję). Aby zainstalować aktualną najnowszą wersję (Wine 1.7), możesz użyć oficjalnej Wine PPA :

sudo apt-add-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.7

Jeśli nie można znaleźć pakietu wine1.7, spróbuj ponownie uruchomić polecenie instalacji, ale winezamiastwine1.7

Aby ogólnie zainstalować i skonfigurować Wine, możesz również wypróbować to pytanie .

Program, którego chcę używać, został zaprojektowany dla nowszej wersji systemu Windows. Co mogę zrobić?

Wine domyślnie replikuje Windows XP, którego niektóre programy nie obsługują, ponieważ jest to EOL (co przypuszczam, że jest przydatne, ponieważ prawdopodobnie możesz uruchamiać programy dla WinXP pod Wine pod Linuxem i możesz „nuke WinXP z orbity” :)

W każdym razie najpierw otwórz okno konfiguracji Wine:

export WINEPREFIX=~/.wine-PROGRAM-NAME/
winecfg

Gdzie ~/.wine-PROGRAM-NAME/jest WINEPREFIX, który utworzyłeś wcześniej.

I wybierz wersję systemu Windows do replikacji u dołu karty „Aplikacje”. Następnie spróbuj ponownie zainstalować aplikację.

WIRUSY WINDOWS POD WINA?!?!

Całkiem możliwe . Nie instaluj losowego oprogramowania z Internetu, upewnij się, że pochodzi ono z zaufanej witryny.


2
Ponieważ nie używam Wine dużo, pomyślałem, że ustawię bezpośrednio WINEARCHw swoim .bashrcskrypcie, a następnie ~/.winecałkowicie wyczyściłem i przystąpiłem do winetricks dotnet40. Teraz działa. Dzięki!
Yanick Rochon
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.