Esecuzione dell'applicazione .Net 4.0 con Wine


17

Sto tentando di eseguire un semplice programma in Wine, sotto Ubuntu 14.04 LTS, ma questo si lamenta

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

Il tentativo di installare manualmente .Net 4.0 genera un errore nel programma di installazione, dicendo che .Net 4.0 è già installato.

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

Quindi provare a riavviare la stessa applicazione fallirà comunque

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

Ho provato Wine 1.6 e 1.7.30 ed entrambi falliscono. .Net 4.0 è effettivamente implementato? O parzialmente implementato? C'è un modo per far funzionare questa app .Net 4.0?

Aggiornare

Winetricks si lamenta che dotnet40non può essere installato su un sistema a 64 bit. Quindi, come lo installo?


Potresti aggiungere dettagli su quale programma e per quale versione di Windows è progettato?
Wilf,

Risposte:


27

Per prima cosa, nota questo avvertimento molto evidente:

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

Ciò indica che è necessario creare un Wineprefix a 32 bit , poiché Wine funziona meglio con roba a 32 bit - questo può essere fatto semplicemente eseguendo raccontando a wine quale architettura usare prima di eseguire i suoi comandi (questo posso pensare che possa essere fatto anche disinstallando Wine x86_64 e installando Wine i386 / i686 - comunque, tieni aperto il terminale per gli altri comandi wine dopo aver eseguito questo) :

export WINEARCH="win32"

Questo imposta le variabili d'ambiente che wine legge prima di avviarsi (vedi man wine).

Sarebbe anche una buona idea ottenerlo per creare il proprio WINEPREFIX (dove è memorizzata l'unità virtuale Wine). Di default questo è ~/.wine, ma puoi crearne di singoli per ogni architettura e programma, quindi per creare un WINEPREFIX nella directory /home/USERNAME/.wine-PROGRAM-NAME/:

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

La directory non deve esistere (idealmente non dovrebbe esistere, quindi le cose non devono essere sovrascritte), ma probabilmente le directory principali dovrebbero - dovresti anche avere il permesso di leggere e scrivere, e io no pensa che wineprefix possa essere su un disco FAT / NTFS per motivi tecnici (non funzionerà) .

Quindi, per impostare un prefisso del vino a 32 bit per un programma:

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

È possibile sostituire PROGRAM-NAMEcon il nome del programma per facilitare l'identificazione del programma in un secondo momento. Assicurati solo che includa solo la lettera e i numeri poiché la punteggiatura ha spesso una funzione speciale in varie shell di comandi.

Dovresti quindi ottenere una finestra come questa:

il wineprefix è in fase di aggiornamento ....

Allora sei pronto per partire. Ora puoi installare NET 4.0 usando winetricks(potresti voler ottenere l'ultima versione da qui prima):

winetricks dotnet40

Questo dovrebbe trovarsi nel terminale dopo il export WINEPREFIX=...comando o posizionandolo appena prima del comando wine in questo modo (utile per i lanciatori di app che una riga di comando) :

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

Si consiglia inoltre di utilizzare winetricksinstallare alcune altre cose che potrebbe essere necessario - ad esempio i font (utilizzando le opzioni corefonts, lucida, tahoma). Per elencare le opzioni di Winetricks, utilizzare winetricks list-all.

È quindi possibile installare il programma utilizzando wine "~/Downloads/PATH/TO/INSTALLER.exe". Ancora una volta (copia il file, quindi "Incolla i nomi dei file" nel terminale, quindi sembra che '/home/wilf/Desktop/name spaces/installer.exe'non lo sia file:///home/wilf/Desktop/name spaces/installer.exe') .

È necessario assicurarsi che WINEPREFIX sia stato esportato prima di eseguire questo comando (soprattutto se si è chiuso il terminale) o nella stessa riga. Dopo averlo fatto funzionare (o non funzionare) potresti voler fare un rapporto su come funziona qui (incluso quello che hai fatto ecc. In modo da poter aiutare altre persone). In caso di problemi e nell'output compaiono errori evidenti, è possibile segnalare un bug .

Una volta installato, dovrebbe far apparire il launcher dell'app sul Dash / Menu e talvolta sul Desktop. Altrimenti in futuro per eseguire l'app potrebbe essere necessario eseguire l'app con export WINEPREFIX=...e wine ....(o env WINEPREFIX=... wine .....) di nuovo, a meno che non si crei un launcher (commento sotto o da qualche parte se è necessario sapere come farlo ....)


Ulteriori informazioni, risoluzione dei problemi, ecc

Come installo winetricks?

Puoi ottenere una versione dai repository Ubuntu usando questo comando (o installando Winetricks dal Software Center):

sudo apt-get install winetricks

È quindi possibile utilizzare winetricks OPTIONSper fare cose.

Per l'ultima versione, è possibile utilizzare questi comandi per scaricare e utilizzare l'ultima versione:

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

Nota che dovrai eseguirlo come ./winetricks <OPTIONS>, a meno che la sua directory non sia nella shell $PATH.

Non voglio usare il terminale, cosa posso fare?

L'app che desideri utilizzare può essere eseguibile su PlayOnLinux (dovrebbe essere se riesci a trovarla qui ): questa è praticamente tutta la GUI e esegue automaticamente la maggior parte dei passaggi per te.

In caso contrario, è possibile utilizzare il terminale di farlo molto facilmente (di solito si hanno molto più controllo che se un programma con interfaccia grafica lo sta facendo), basta essere attenti a ciò che si mette in (soprattutto se include i comandi sudo, rmecc). Cerca di capire prima cosa sta succedendo con ciascun comando.

Inoltre, alcuni di questi passaggi possono essere eseguiti in altri modi: entrambi winecfge winetricksle GUI aperte attraverso le quali è possibile eseguire alcuni passaggi, ma di nuovo ciò che è possibile fare è limitato.

Come installo l'ultima versione di Wine?

Le versioni di vino più recenti sono più aggiornate, quindi potrebbero essere in grado di eseguire meglio il programma (a meno che non vi sia una regressione che lo impatti). Per installare l'ultima versione corrente (Wine1.7) è possibile utilizzare il Wine PPA ufficiale :

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

Se non riesce a trovare il pacchetto wine1.7, prova a eseguire nuovamente il comando install ma con wineinvece diwine1.7

Per installare e configurare Wine in generale, puoi anche provare questa domanda .

Il programma che voglio usare è progettato per una versione più recente di Windows, cosa posso fare?

Wine per impostazione predefinita replica Windows XP, che alcuni programmi non supportano in quanto è EOL (che suppongo sia utile poiché probabilmente è possibile eseguire programmi per WinXP in Wine sotto Linux, e si può 'nuke WinXP dall'orbita' :)

Ad ogni modo, prima apri la finestra di configurazione di Wine:

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

Dov'è ~/.wine-PROGRAM-NAME/il WINEPREFIX creato in precedenza.

E seleziona la versione di Windows da replicare nella parte inferiore della scheda "Applicazioni". Quindi prova a installare di nuovo l'app.

VIRUS DI WINDOWS SOTTO VINO?!?!

Molto probabilmente . Non installare software casuale di Internet, cerca di assicurarti che provenga da un sito attendibile.


2
Dato che non uso molto Wine, ho pensato che avrei impostato direttamente la WINEARCHmia .bashrcsceneggiatura, quindi ho cancellato ~/.winecompletamente e ho proceduto winetricks dotnet40. Ora funziona. Grazie!
Yanick Rochon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.