Etiqueta: wine

  • Ejecutar PDroidPatcher (aplicación Win32) en Wheezy 64 bits (incompleto)

    PDroidPatcher es una aplicación para Win32 que requiere para su ejecución Java y .NET. Por lo tanto hacen falta tres cosas para ejecutarlo; poder ejecutar aplicaciones Win32, instalar Java e instalar la infraestructura de ejecución de aplicaciones .NET.

    Instalación de Wine

    Para ejecutar las aplicaciones para Win32 en GNU/Linux se dispone de la herramienta Wine, incluida en los repositorios de Wheezy. Sin embargo, aunque la versión Wheezy para arquitecturas AMD64 incluye en el repositorio un paquete Wine, se trata de un paquete transicional, de modo que al intentar ejecutar wine, nos indicará que hay que instalar el paquete de la arquitectura de 32 bits y cómo hacerlo.

    Para instalar Wine para 32 bits hay que, en primer lugar, proporcionar a la instalación de Wheezy de 64 bits la capacidad de ejecutar aplicaciones de 32 bits instalando las librerías necesarias:

    apt-get install ia32-libs ia32-libs-gtk

    A continuación hay que preparar el sistema de paquetes para que incluya paquetes de la arquitectura de 32 bits en las búsquedas.

    dpkg --add-architecture i386

    Ahora se actualiza la base de datos

    apt-get update

    Y  se instala el paquete de Wine (hay que aceptar la eliminación del paquete de 64 bits):

    apt-get install wine-bin:i386

    Una vez instalado, opcionalmente, se puede volver a configurar el sistema de paquetes para que sólo trabaje con paquetes de la arquitectura de 64 bits.

    dpkg --remove-architecture i386

    También suele ser conveniente instalar el paquete winetricks, que ayudará a instalar complementos a la instalación de Wine necesarios para poder ejecutar algunas aplicaciones Win32.

    apt-get install winetricks

    Java

    Ya está Wine instalado pero, como indica al principio del artículo, esto es sólo  la  base, ahora hay que instalar Java, concretamente la versión JDK 6 (para Windows x86, claro), que es la que requiere en concreto PDroidPatcher. El instalador de JDK6 se puede descargar desde la página de descargas de Java SE. Una vez descargado se ejecuta en el entorno Wine.

    wine ~/Downloads/jdk-6u35-windows-i586.exe

    Soporte .NET

    Por último para el soporte para aplicaciones .NET existen dos alternativas, la de Microsoft y la de código abierto, Mono. Las dos pueden ser válidas, pero sólo una debe instalarse.

    La instalación de Mono se realiza mediante winetricks, pero de 32 bits. Para ello se ejecuta lo siguiente.

    export WINEARCH="win32"
    winetricks dotnet35

    Desgraciadamente, aunque con todo esto se consigue iniciar PDroidPatcher, durante la ejecución se produce un error y no logra formar el parche para la imagen Android proporcionada. Ni siquiera con Mono:

    winetricks mono26

     

     

  • Instalación de REM 1.2.2 sobre wine

    La Universidad de Sevilla hace disponible de forma gratuita (aunque rellenando un formulario) el programa REM 1.2.2 (REquirement Management) que permite documentar y realizar matrices de trazabilidad de requisitos, objetivos, actores, etc.

    El problema es que la aplicación sólo está disponible para plataformas Windows, por lo que hay que utilizar wine para poder ejecutarlo en Linux.

    Por tanto, lo primero es instalar wine si no está ya instalado:

    $ sudo apt-get install wine

    Instalación

    Una vez descargado el fichero comprimido zip de REM lo primero es descomprimirlo:

    $ mkdir rem_1.2.2
    $ cd rem_1.2.2
    $ unzip ~/REM_1_2_2.zip
    $ wine SETUP.EXE

    Para ejecutar el instalador se requiere la librería del motor JET 4.0, sin ella la instalación no podrá realizarse y terminará sin éxito. Para instalar esta y otras librerías se puede utilizar la herramienta winetricks que automatiza la instalación de múltiples librerías, evitando tener que buscarlas e instalarlas manualmente.

    Así que se descarga la aplicación winetricks, se instala la libería JET 4.0 y se repite la instalación de REM 1.2.2.

    $ wget http://www.kegel.com/wine/winetricks
    $ sh winetricks jet40
    $ wine SETUP.EXE

    Actualización: En Debian Jessie se puede instalar winetricks mediante su correspondiente paquete del mismo nombre. Además, antes de instalar JET 4.0 usando winetricks hay que descargar mdac_typ.exe y colocarlo en $HOME/.cache/winetricks/mda27. Después se sigue con la ejecución mediante wine de SETUP.EXE.

    Ahora la instalación deberá completarse con éxito. No hay que olvidar editar el fichero «C:\Archivos de Programa\REM 1.2.2\xml\default\REM_TraceImage.xsl» y eliminar el último caracter del mismo. La ruta para localizar el fichero será así: ~/.wine/drive_c/Archivos de programa/REM 1.2.2/xml/default.

    Ejecución

    Para lanzar el programa se ejecuta la siguiente orden desde un terminal:

    $ wine ~/.wine/drive_c/Archivos\ de\ programa/REM\ 1.2.2/bin/REM_1_2_2.exe

    Si aún faltan librerías wine informará sobre los errores producidos durante la ejecución incluyendo el nombre de las librerías no encontradas si éste es el problema:

    err:module:import_dll Library MFC42.DLL (which is needed by L"Z:\\home\\user\\.wine\\drive_c\\Archivos de programa\\REM 1.2.2\\bin\\REM_1_2_2.exe") not found                                                                          
    err:module:import_dll Library MSVCP60.dll (which is needed by L"Z:\\home\\user\\.wine\\drive_c\\Archivos de programa\\REM 1.2.2\\bin\\REM_1_2_2.exe") not found                                                                        
    err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\user\\.wine\\drive_c\\Archivos de programa\\REM 1.2.2\\bin\\REM_1_2_2.exe" failed, status c0000135

    Estos errores advierten la imposibilidad de cargar las librerías MFC42.DLL y MSVCP60.dll, lo que provoca el cierre del programa. Para instalar las librerías se recurre de nuevo a winetricks y se lanza de nuevo el programa:

    $ sh winetricks vcrun6
    $ sh winetricks mfc42
    $ wine ~/.wine/drive_c/Archivos\ de\ programa/REM\ 1.2.2/bin/REM_1_2_2.exe

    Y con eso aparece la ventana del programa.

    Contenido HTML

    Aunque el programa arranque necesita hacer uso de las librerías de Internet Explorer para representar el contenido HTML generado por la herramienta. Para ello se instala Internet Explorer 6 mediante winetricks y el motor gecko para representación de contenido HTML.

    $ sh winetricks ie6 gecko

    Con esto no fue suficiente, así que la herramienta funciona pero los resultados no se ven.

    ¿Sugerencias?

    Gracias al comentario de Juan se resuelve el último problema en la ejecución de REM instalando las librerías XML necesarias mediante el siguiente comando (la primera ejecución indicará que se descargue el fichero msxml3.msi y se guarde en ~/.cache/winetricks/msxml3/ y en la segunda ejecución procederá a su instalación):

    $ sh winetricks msxml3

    Por fin, no se necesita más utilizar una máquina virtual con Windows para poder ejecutar REM.

    Nueva actualización. Es posible que (aunque no sea necesario instalar ie6) al ejecutar

    $ sh winetricks ie6

    se obtenga el error «The download location information is damaged». Este problema se ha arreglado estableciendo en winecfg el tipo de unidad para la unidad Z:. Los pasos son ejecutar winecfg, ir a la pestaña de «Unidades», pulsar el botón «Mostrar avanzado», seleccionar la unidad Z: y establecer el tipo a «Disco duro local». Una vez hecho esto la ejecución de la instalación de ie6 volvió a fallar de la misma forma, pero al repetir el intento funcionó, tal como se advertía que podía ocurrir en la siguiente referencia:

    http://appdb.winehq.org/objectManager.php?sClass=version&iId=469&iTestingId=34487