Ejecución de la aplicación .Net 4.0 con Wine

17

Estoy intentando ejecutar un programa simple en Wine, bajo Ubuntu 14.04 LTS, sin embargo, se queja de que

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

Intentar instalar manualmente .Net 4.0 produce un error en el instalador, diciendo que .Net 4.0 ya está instalado.

Corriendo 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

Luego, intentar volver a iniciar la misma aplicación todavía fallará con

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

He probado Wine 1.6 y 1.7.30 y ambos fallan. ¿Está implementado .Net 4.0 realmente? O implementado parcialmente? ¿Hay alguna manera de hacer que esta aplicación .Net 4.0 funcione?

Actualizar

Winetricks se queja de que dotnet40no se puede instalar en un sistema de 64 bits. Entonces, ¿cómo lo instalo?

Yanick Rochon
fuente
¿Podría agregar detalles de qué programa y para qué versión de Windows está diseñado?
Wilf
Es el editor de guardado de Borderlands 2 .
Yanick Rochon

Respuestas:

27

Primero lo primero, tenga en cuenta esta advertencia muy notable:

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

Esto indica que necesita crear un Wineprefix de 32 bits , ya que Wine funciona mejor con material de 32 bits; esto se puede hacer simplemente ejecutando diciéndole a wine qué arquitectura usar antes de ejecutar sus comandos (creo que esto también se puede hacer desinstalando Wine x86_64 e instalando vino i386 / i686 - de todos modos, mantener el terminal abierto para los otros comandos de vino después de ejecutar este) :

export WINEARCH="win32"

Esto establece las variables de entorno que Wine lee antes de su lanzamiento (ver man wine).

También sería una buena idea conseguir que cree su propio WINEPREFIX (donde se almacena la unidad virtual Wine). De forma predeterminada, esto es ~/.wine, pero puede crear los individuales para cada arquitectura y programa, por lo tanto, para crear un WINEPREFIX en el directorio /home/USERNAME/.wine-PROGRAM-NAME/:

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

El directorio no tiene que existir (idealmente no debería existir para que las cosas no tengan que ser sobrescritas), pero los directorios principales probablemente deberían existir: también debe tener permiso para leer y escribir en él, y yo no piensa que el wineprefix puede estar en un disco FAT / NTFS por razones técnicas (no funcionará) .

Entonces, para configurar un prefijo de vino de 32 bits para un programa:

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

Puede reemplazarlo PROGRAM-NAMEcon el nombre del programa para que sea más fácil identificarlo más tarde. Solo asegúrese de que solo incluya la letra y los números, ya que la puntuación a menudo tiene una función especial en varios shells de comandos.

Entonces debería obtener una ventana como esta:

el wineprefix se está actualizando ...

Entonces estás listo para partir. Ahora puede instalar NET 4.0 utilizando winetricks(es posible que desee obtener la última versión de aquí primero):

winetricks dotnet40

Esto debería estar en la terminal después del export WINEPREFIX=...comando, o colocándolo justo antes del comando wine como tal (útil para los lanzadores de aplicaciones que una línea de comando) :

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

También puede que quiera usar winetrickspara instalar algunas otras cosas que podría necesitar - por ejemplo, las fuentes (usando las opciones corefonts, lucida, tahoma). Para enumerar las opciones de winetricks, use winetricks list-all.

Luego puede instalar el programa usando wine "~/Downloads/PATH/TO/INSTALLER.exe". Una vez más (copie el archivo, luego 'Pegar nombres de archivo' en la terminal, para que parezca que '/home/wilf/Desktop/name spaces/installer.exe'no file:///home/wilf/Desktop/name spaces/installer.exe') .

Debe asegurarse de que WINEPREFIX se haya exportado antes de ejecutar este comando (especialmente si cerró el terminal) o en la misma línea. Después de hacerlo funcionar (o no funcionar), es posible que desee hacer un informe sobre qué tan bien funciona aquí (incluyendo lo que hizo, etc., para que pueda ayudar a otras personas). Si tiene problemas y aparecen errores notables en la salida, puede informar un error .

Una vez instalado, debe hacer que el iniciador de la aplicación aparezca en el Tablero / Menú y, a veces, en el Escritorio. De lo contrario, en el futuro para ejecutar la aplicación, es posible que deba ejecutar la aplicación con export WINEPREFIX=...y wine ....(o env WINEPREFIX=... wine .....) nuevamente, a menos que cree un iniciador (comente a continuación o en algún lugar si necesita saber cómo hacerlo ...)


Más información, solución de problemas, etc.

¿Cómo instalo winetricks?

Puede una versión de los repositorios de Ubuntu usando este comando (o instalando Winetricks desde el Centro de software):

sudo apt-get install winetricks

Luego puedes usar winetricks OPTIONSpara hacer cosas.

Para la última versión, puede usar estos comandos para descargar y usar la última versión:

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

Tenga en cuenta que deberá ejecutarlo como ./winetricks <OPTIONS>, a menos que su directorio esté en el shell $PATH.

No quiero usar terminal, ¿qué puedo hacer?

La aplicación que desea usar puede ejecutarse en PlayOnLinux (debería serlo si puede encontrarla aquí ): esto es prácticamente todo GUI y automáticamente realiza la mayoría de los pasos por usted.

De lo contrario, puede utilizar el terminal para hacerlo muy fácilmente (por lo general tienen mucho más control que si un programa de interfaz gráfica de usuario lo está haciendo), pero tenga cuidado de lo que se pone en (especialmente si incluye los comandos sudo, rmetc). Trate de entender qué sucede con cada comando primero.

Además, algunos de estos pasos se puede hacer de otras maneras - tanto winecfgy winetricksGUI abierto a través del cual se pueden hacer algunos pasos, pero una vez más lo que puede hacer es limitado.

¿Cómo instalo la última versión de Wine?

Las versiones de vino más nuevas están más actualizadas, por lo que pueden ejecutar mejor el programa (a menos que haya una regresión que lo afecte). Para instalar la última versión actual (Wine1.7) puede usar el Wine PPA oficial :

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

Si no puede encontrar el paquete wine1.7, intente ejecutar el comando de instalación nuevamente pero con en winelugar dewine1.7

Para instalar y configurar Wine en general, también puede probar esta pregunta .

El programa que quiero usar está diseñado para una versión más nueva de Windows, ¿qué puedo hacer?

Wine por defecto replica Windows XP, que algunos programas no admiten, ya que es EOL (lo que supongo que es útil, ya que probablemente pueda ejecutar programas para WinXP en Wine en Linux, y puede 'atacar a WinXP desde la órbita' :)

De todos modos, primero abra la ventana de configuración de Wine:

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

¿Dónde ~/.wine-PROGRAM-NAME/está el WINEPREFIX que creó anteriormente?

Y seleccione la versión de Windows para replicar en la parte inferior de la pestaña 'Aplicaciones'. Luego intente instalar la aplicación nuevamente.

VIRUS DE VENTANAS BAJO EL VINO?!?!

Muy posiblemente . No instale software aleatorio de Internet, intente asegurarse de que sea de un sitio confiable.

Wilf
fuente
2
Como no uso mucho Wine, pensé que pondría WINEARCHmi .bashrcscript directamente, luego lo borré por ~/.winecompleto y procedí a hacerlo winetricks dotnet40. Ahora funciona. ¡Gracias!
Yanick Rochon