2009-01-07 14 views
10

Muchos de mis usuarios me han estado diciendo que les gustaría ejecutar mi software en sus máquinas Linux en Wine.Cómo un desarrollador de Windows puede hacer que su software funcione más fácilmente en Wine

Pero soy un desarrollador de Windows que prácticamente no tiene experiencia con Linux.

Ahora podría pasar un mes o dos instalando Linux, aprendiendo Linux, instalando Wine, aprendiendo Wine y asegurándome completamente de que mi aplicación se ejecute bien en Wine. Pero todavía estoy desarrollando para Windows, así que no quiero tomar tanto tiempo lejos del desarrollo en este momento.

Entonces, ¿qué puedo hacer sin demasiado esfuerzo para que mi programa se ejecute lo mejor posible en Wine?


Encontré this General help on running applications under Wine.

Respuesta

11

Descargue VMWare y Ubuntu virtual machine (Ubuntu es una distribución popular de Linux) desde el sitio de VMWare. Esto le proporcionará un O/S Linux dentro de su entorno Windows sin necesidad de instalar Linux manualmente.

Puede utilizar las instrucciones here para instalar Wine, esa página Wiki también le proporciona algunas instrucciones sobre cómo usarlo.

Si sigue lo que Adam Rosenfield sugirió y simplemente intente ejecutar su aplicación en Wine sin modificaciones, podrá determinar rápidamente si hay problemas. Supongo que hay algunos, de lo contrario sus usuarios no se habrían contactado al respecto :)

Hay muchas maneras de obtener ayuda con las aplicaciones de depuración en Wine, consulte el website para conocer las opciones y elegir algunas maneras que se adapten tú. Como siempre, es mejor no confiar en un solo canal para la comunicación. Además, si está más cómodo desarrollando en Windows, el método de usar una máquina virtual le permitirá compilar su código como es habitual en Windows y copiar el binario en la máquina virtual para probarlo (Ubuntu admite navegación/montaje Windows comparte).

3

¡No use demasiada API de Windows! No use nada nuevo de Microsoft;)

+0

Esto no debe ser downvoted. No es muy detallado, pero abstenerse de muchas llamadas a API de Windows es realmente correcto. – BobbyShaftoe

+0

¿Qué significa "demasiado"? Un programa de Windows va a usar los bits de la API que necesita para llevar a cabo la tarea a mano –

+0

. A menudo hay puntos donde puede usar una llamada estándar o una llamada Win32. –

0

¿Con qué idioma/plataforma se desarrolla? Dependiendo de cuál sea, no debería ser ningún problema hacerlo funcionar nativo. Por ejemplo, si usa Java o Python, ambos funcionan muy limpiamente en Linux. Del mismo modo, si eres un desarrollador de .NET, deberías poder, con cierto dolor, hacer que tu aplicación se ejecute en Mono.

+0

Estoy usando Delphi 2009. La primera revisión de mi aplicación lo menciona como "Bronce" pero no indica lo que funciona o no. No estoy haciendo nada elegante, pero tengo algunas llamadas a la API de Windows Core, uso el Registro de Windows e incluyo un par de paquetes de terceros cuya compatibilidad se desconoce. – lkessler

5

Siempre y cuando no esté haciendo nada inusual, como jugar con el hardware o hurgando en las llamadas API indocumentadas y estructuras de datos, debería poder ejecutar su código en Wine con pocas o ninguna modificación. Wine tiene una implementación bastante completa de las API públicas de Windows, por lo que si tu programa funciona bien y no se arruina, debería funcionar.

3

Evitar el uso de WPF es la sugerencia n. ° 1.

Pero realmente no te mataría probar tu aplicación en Wine. No es tan difícil de probar; ciertamente no llevará meses.Por ejemplo:

Uso http://www.ubuntu.com/getubuntu/downloadmirrors#wubi para instalar Ubuntu en un archivo en su máquina Windows, a continuación, iniciar Ubuntu e instalar la última Vino de http://winehq.org/download/deb A continuación, intente ejecutar el instalador de la aplicación. Si no funciona, consulte las Preguntas frecuentes sobre vinos, solicite ayuda en uno de los foros de vinos y/o bugs en el registro de errores de wine.

Debe tomar aproximadamente tres horas desde un punto muerto para probar su instalador.

3

Estaba bastante sorprendido cuando una de mis aplicaciones Delphi5 acaba de salir del zip.

La única manera real de que esto funcione es hacerlo usted mismo, es decir, instalar vmware y una distribución de Linux como Sean sugirió. Linux no es realmente tan difícil, y todos estamos aquí para ayudarlo.

Después de haber hecho una prueba rápida, puedo confirmar que funciona en gran medida. Hay un ACCVIO que lee 0x34 durante el inicio, se puede ignorar el diálogo de error y se ejecuta la aplicación, abrí el Steve McCarthy GEDCOM.

Screenshot

Este fue usando Wine 1.1.12 bajo MEPIS 9.7.94-rc1_32 bajo VMWare. Recomiendo encarecidamente usar VMWare para este tipo de cosas.

+0

Parece que hay un error de aplicación en la captura de pantalla. :-( – lkessler

+0

Hay. Aparece durante el inicio y terminará la aplicación si hace clic en Aceptar. Sin embargo, si la deja abierta, la aplicación parece funcionar bien. –

0

Encuentra probadores beta de Linux. Puede informar un error a los desarrolladores de WINE o encontrar un error en su aplicación.

0

Wine es más sensible a los errores que Windows. Por ejemplo, Wine bloqueará los identificadores de ventana NULL y no podrá crear ventanas si la clase no es válida, mientras que Windows es más robusto y evitará el error.

Es una oportunidad para limpiar su código.

Me sorprendió lo bien que Wine ejecutó mi aplicación la primera vez que lo intenté. Sin embargo, tuve que deshacerme de un componente de terceros basado en controladores.

Cuestiones relacionadas