Visto el interés de algunos por saber más del tema, os cuento la jugada.
Introducción
Como ya sabreis, se puede hacer correr código c# nativamente con mono, pero sólo ejecuta c#. Es decir, si el código que tenemos llama en algún momento a algo que no sea .NET 100%, mono da un error de ejecución.
Problema
¿ Que problema tenemos el trabajo ? usamos el paquete de controles que, aunque se anunciaban como 100% .NET, en realidad hacen llamadas a la API de windows.
Así que sobre Linux no funcionarán.
Solución
Si Mahoma no va a la montaña, la montaña va a Mahoma.
En vez de intentar ejecutar de forma nativa con mono, lo ejecutamos como windows pero sobre linux con el emulador/traductor Wine.
Hasta hace poco esto no era posible, pero ahora la gente de Wine han conseguido hacer correr Framework 2.0.
Vamos a ver como. Para instalar seguimos los siguientes pasos :
1. Instalamos wine v1.0. La versión de repositorio de Ubuntu/Kubuntu 8.04 ya nos sirve. 2. Descargamos la última versión de winetricks
wget http://www.kegel.com/wine/winetricks
3. Instalamos MS Installer 2.0
sh winetricks msi2
4. Instalamos Framework 2.0 ( OJO, la versión SP1 no funciona )
sh winetricks win2k
sh winetricks corefonts dotnet20
sh winetricks winxp
5. Copiamos los archivos necesarios a Linux. Las dll, exe y el resto de archivos (configuración, imagenes, etc) si los hay.
6. Nos vamos a la carpeta y ejecutamos
wine nuestra_aplicación.exe
Sencillo, no ?
Conclusión
Si nuestra única limitación era la de llamadas a la API de Windows desde nuestro programa realizado con Framework 2.0, ya podemos correr nuestras aplicaciones sobre linux+wine sin problemas.
No hacen falta máquinas virtuales ni sesiones remotas. Sólo Linux. (El tema de las licencias es otra historia).
Para los que usais bases de datos, os recomiendo usar alguna que funcione bajo linux y tenga controlador para .NET 2.0.
En concreto yo uso Firebird 2.1 para Linux, y no tengo ningún problema.
Espero que este hallazgo os de tantas alegrías como a mí. (O más )
2 de octubre de 2008, 21:03
Al instalar el frameworks 2.0, no me deja, ja que me da un error. Necesita windows installer 3
Que puedo hacer?
3 de octubre de 2008, 8:25
Hola, Xavi.
Acabo de instalarlo y me ha salido el mismo error error.
Investigaré un poco el tema, a ver si hay alguna solución.
Creo que lo mejor sería informar tambien a la gente de wine.
Un saludo
3 de octubre de 2008, 14:21
Hola yo lo solucione configurando el wine como Windows 2000. Después se instalo sin ningún problema el donet2.0.
3 de octubre de 2008, 17:46
Gracias por tu autorespuesta :)
Tambien funciona poniendolo como Windows 98.
Igualmente actualizaré la receta.
3 de octubre de 2008, 20:38
Pues a mi sigue sin funcionarme.
Incluso he intentado instalarme adicionalment el msi3, pero no me deja el wine
He seguido los comandos que indicais, incluso he utilizado sh winetricks win98. Pero no me sigue saliendo el mismo mensaje cuando le doy a instalar el dotnet20
4 de octubre de 2008, 17:31
Xavi, intenta esto.
Renombra la carpeta .wine de tu home, vuelve a instalar wine y acto seguido los pasos para dotnet20.
Yo al final acabo teniendo varias carpetas .wine para hacer cosillas.
Otra opción sería que te instalaras PlayOnLinux. A parte de juegos, deja instalar cosas como IE6 y dotnet20.
3 de abril de 2009, 11:05
Se agradece el aporte
saludos y gracias
4 de abril de 2009, 17:53
Perdón por mi ignorancia, pero en el paso 5 ¿dónde están los archivos en cuestión y dónde se copian?
Muchas gracias. Saludos!
4 de abril de 2009, 21:10
Hola, Gorka
El paso 5 se refiere a los archivos de tu programa. A tu exe, el de tu programa, y si tienes tambien las dll. Si no quieres complicarte la vida mete las dll en la misma carpeta del exe y asi no hay que registrar nada.
Y tu pregunta que nadie nace aprendido.
4 de mayo de 2009, 1:32
No es necesario instalar msi2 :)
1 de agosto de 2009, 20:31
Se puede instalar WINDOWS INSTALLER 3.0 del siguiente enlace:
http://pt.kioskea.net/telecharger/telechargement-14-windows-installer
y después instalar dotnet2.0.
Un saludo
24 de septiembre de 2009, 20:24
Muchas gracias por el aporte. Gente como tu nos hace la convivencia con Linux aun mas grande. Me ha funcionado perfectamente siguiendo tus pasos.
Un saludo.
25 de octubre de 2009, 8:05 Este comentario ha sido eliminado por el autor.
12 de mayo de 2012, 12:28
¿Alguien ha probado a instalar Mono (ultima version: 2.10) sobre Wine (última versión 1.5.4) y ver si da buenos resultados?
Yo tengo esa combinación... pero tengo la desgracia de no poder hacer la prueba porque ahora no caigo en la cuenta de ningún programa hecho en .net que pueda probar.
12 de mayo de 2012, 12:30
¿Alguien ha probado la combinación Mono (última versión: 2.10) + Wine (última versión 1.5.4) para ver si da buenos resultados?
Yo tengo esta instalación montada, pero desgraciadamente no me viene a la cabeza ningún software con el que probarlo.
14 de mayo de 2012, 17:23
Creo recordar que el propio Mono tenia aplicaciones de ejemplo. Podrías probar alguna de esas y luego comentas que tal