Visual FoxPro y Linux
 
B�sicamente los pasos de instalaci�n para Wine y la ejecuci�n de Visual FoxPro 6,7 u 8 es la siguiente:
 
1. Descargar la versi�n m�s reciente de Wine, que para estas fechas es wine-20040813.
   
    -  Puede ser versi�n .tar o bien RPM
 
2. Tener a la mano una instalaci�n de Visual Fox 6,7 u 8 en alg�n disco duro por aparte, o en alguna pc con Wintendo.
 
3. Instalar la versi�n de wine, para lo cual pueden seguirse los siguientes pasos:
 
**************INSTALACION****************************
 
NOTA: **Para la versi�n .tar deben ejecutarse los siguientes pasos de instalaci�n NO COMO ROOT!!! sino como un usuario normal, y en su momento el programa preguntar� por el password de root para hacer algunas modificaciones pertinentes.
 
VERSION .TAR: desempacar el archivo con el comando
        tar zxvmf wine-20040813.tar.gz en una terminal
 
       A continuaci�n cambiarse de directorio, hacia el que fue descomprimido el .tar. Yo (descargu� el tar a mi Desktop, y) ejecut� el comando de descompresi�n en la terminal asi:
 
       [root@local root]# cd Desktop
   
       [root@local root]# cd wine-20040813
 
       y una vez en el directorio de wine-20040813 ejecutar el comando tar zxvmf wine-20040813.tar.gz
 
       Una vez descompresionado el archivo, ejecutar el siguiente comando:   
 
       ./tools/wineinstall <-- ese es el comando completo, a ejecutarse una vez dentro del        directorio wine-20040813
 
       Y luego a esperar.............. tardar� como 20 minutos durante los cuales el programa            interactuar� con ustedes asi que OJO! no querr�n esperar otros 20 minutos por la falta de atenci�n.
 
       Una vez finalizada la instalaci�n de Wine en versi�n .tar Ir a la secci�n de modificaciones m�s abajo en este mismo documento.          
 
 
VERSION RPM:
 
NOTA 2: ** Para la instalaci�n de la versi�n en RPM puede realizarse en modo ROOT. Esto luego de algunas pruebas que realic� en mi caja Linux, puedo decirles que es seguro aunque si no se sienten conformes con esa aseveraci�n pueden descartarla y realizarla como un usuario normal.
 
       -  Versi�n RPM: cargar una terminal y ejecutar el siguiente comando (Como dije ya, yo               descargu� el archivo a mi Desktop ) :
 
        [root@local root]# cd Desktop
 
        [root@local root]# cd wine-20040813
 
        rpm -i wine-20040813.i386.rpm
 
        Y luego a esperar..................alrededor de 20 minutos con la salvedad que en esta             instalaci�n nunca ver�n nada hasta que el programa devuelva el prompt.
 
 
Eso es lo concerniente a la instalci�n de wine, lo que debe funcionar para todos ustedes, pues realic� las 2 instalaciones en mi caja, primero porque cre� que las instalaciones .tar o RPM no funcionaban pues al correr visual FoxPro me devolv�a un sinnumero de errores, pero luego me di cuenta que no era as�, y lo explicar� a continuaci�n.
 
*********SECCION DE MODIFICACIONES***********
 
*************INSTALACION TAR*********************
Todas las instalaciones .tar autom�ticamente generan un archivo de configuraci�n localizado en  ~/.wine/config. Config es un archivo de configuraci�n al estilo REGEDIT de Wintendo, en el cual se incluyen entradas para cada programa que se desee ejecutar con wine, de manera mas o menos estable.
 
Una vez instalado wine, abrir el archivo config localizado en ~/.wine/config (<--config es el archivo) donde ~/.wine es el directorio por defecto de wine del usuario en sesi�n; puede modificarse con cualquier editor de texto.
 
A�adir las siguientes lineas al final del archivo config y antes de la linea que dice # [/wineconf]
 
;; VFP6: entrada de registro para Fox 6
   [AppDefaults\\vfp6.exe\\Version]
   "Windows" = "nt351"
 
  ;; VFP7: entrada de registro para Fox 7
   [AppDefaults\\vfp7.exe\\Version]
   "Windows" = "nt40"
 
  ;; VFP8: entrada de registro para Fox 8
   [AppDefaults\\vfp8.exe\\Version]
   "Windows" = "nt40"
  
Las l�nea que dice "Windows" = "nt351" establece un entorno para Visual Fox 6 el cual solo puede ejecutarse bajo wine con el parametro nt351. Si prueban otro tipo como win98 o winXP, o winY2K etc, no funcionar�...OJO!!!
 
Por otro lado la l�nea    "Windows" = "nt40" para Visual Fox 7 y 8 establece un entorno nt40 para Fox 7 y 8. No he probado otros tipos a�n, pero nt40 funciona bien. NOTA: No remover las doble comillas!!!!
 
INSTALACION RPM
 
En el caso de la instalaci�n RPM pude observar que al instalar no a�ade el archivo config, es decir, no lo crea por lo que qued� a mi cargo descubrir cu�l era el problema y por supuesto, crear yo mismo el archivo. Pero bueno, como ya habia realizado la instalaci�n .tar como usuario normal, busqu� el archivo y lo pegu� en la carpeta ~/.wine y listo.
 
Pero como el caso es que no se que instalaci�n seleccionar�n aqui les va el contenido del archivo config para que lo copien y lo peguen en un editor de su preferencia y lo guarden en la carpeta ~/.wine
 
**************************CONTENIDO**********************
 
 
WINE REGISTRY Version 2
;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config
 
;; If you think it is necessary to show others your complete config for a
;; bug report, filter out empty lines and comments with
;; grep -v "^;" ~/.wine/config | grep '.'
 
[wine]
"Windows" = "c:\\windows"
"System" = "c:\\windows\\system"
"Temp" = "e:\\"
"Path" = "c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
"Profile" = "c:\\windows\\Profiles\\Administrator"
"GraphicsDriver" = "x11drv"
;"ShowDirSymlinks" = "1"
;"ShowDotFiles" = "1"
 
# [wineconf]
 
[Version]
; Windows version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,win2k3,win20,win30,win31)
"Windows" = "nt40"
; DOS version to imitate
;"DOS" = "6.22"
 
; Be careful here, wrong DllOverrides settings have the potential
; to pretty much kill your setup.
[DllOverrides]
; some dlls you may want to change
"oleaut32"     = "builtin, native"
"ole32"        = "builtin, native"
"comdlg32"     = "builtin, native"
"shell32"      = "builtin, native"
"shfolder"     = "builtin, native"
"shlwapi"      = "builtin, native"
"shdocvw"      = "builtin, native"
"advapi32"     = "builtin, native"
"msvcrt"       = "native, builtin"
"mciavi.drv"   = "native, builtin"
"mcianim.drv"  = "native, builtin"
"d3drm"        = "native, builtin"
"d3dxof"       = "native, builtin"
"dpnhpast"     = "native, builtin"
; you can specify applications too
; this one will apply for all notepad.exe
;"*notepad.exe" = "native, builtin"
; this one will apply only for a particular file
;"C:\\windows\\regedit.exe" = "native, builtin"
; default for all other dlls
"*" = "builtin, native"
 
[x11drv]
; Number of colors to allocate from the system palette
"AllocSystemColors" = "100"
; Use a private color map
"PrivateColorMap" = "N"
; Favor correctness over speed in some graphics operations
"PerfectGraphics" = "N"
; Color depth to use on multi-depth screens
;;"ScreenDepth" = "16"
; Allow the window manager to manage created windows
"Managed" = "Y"
; Use a desktop window of 640x480 for Wine
;"Desktop" = "640x480"
; Use XFree86 DGA extension if present
; (make sure /dev/mem is accessible by you !)
"UseDGA" = "Y"
; Use XVidMode extension if present
"UseXVidMode" = "Y"
; Use XRandR extension if present
"UseXRandR" = "Y"
; Use the take focus protocol
"UseTakeFocus" = "Y"
; Enable DirectX mouse grab
"DXGrab" = "N"
; Create the desktop window with a double-buffered visual
; (useful to play OpenGL games)
"DesktopDoubleBuffered" = "N"
; Run in synchronous mode (useful for debugging X11 problems)
;;"Synchronous" = "Y"
;
; Use the Render extension to render client side fonts (default "Y")
;;"ClientSideWithRender" = "Y"
; Fallback on X core requests to render client side fonts (default "Y")
;;"ClientSideWithCore" = "Y"
; Set both of the previous two to "N" in order to force X11 server side fonts
;
; Anti-alias fonts if using the Render extension (default "Y")
;;"ClientSideAntiAliasWithRender" = "Y"
; Anti-alias fonts if using core requests fallback (default "Y")
;;"ClientSideAntiAliasWithCore" = "Y"
;
 
[fonts]
;Read the Fonts topic in the Wine User Guide before adding aliases
;See a couple of examples for russian users below
"Resolution" = "96"
"Default" = "-adobe-helvetica-"
"DefaultFixed" = "fixed"
"DefaultSerif" = "-adobe-times-"
"DefaultSansSerif" = "-adobe-helvetica-"
 
;; default TrueType fonts with russian koi8-r encoding
;"Default" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
;"DefaultFixed" = "-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"
;"DefaultSerif" = "-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"
;"DefaultSansSerif" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
;; default cyrillic bitmap X fonts
;"Default" = "-cronyx-helvetica-"
;"DefaultFixed" = "fixed"
;"DefaultSerif" = "-cronyx-times-"
;"DefaultSansSerif" = "-cronyx-helvetica-"
 
; the TrueType font dirs you want to make accessible to wine
[FontDirs]
;"dir1" = "/usr/X11R6/lib/X11/fonts/TrueType"
;"dir2" = "/usr/share/fonts/truetype"
;"dir3" = "/usr/X11R6/lib/X11/fonts/TT"
;"dir4" = "/usr/share/fonts/TT"
 
[ppdev]
;; key:  io-base of the emulated port
;; value : parport-device{,timeout}
;; timeout for auto closing an open device ( not yet implemented)
;"378" = "/dev/parport0"
;"278" = "/dev/parport1"
;"3bc" = "/dev/parport2"
 
[spooler]
"FILE:" = "tmp.ps"
"LPT1:" = "|lpr"
"LPT2:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"
"LPT3:" = "/dev/lp3"
 
[ports]
;"read"  = "0x779,0x379,0x280-0x2a0"
;"write" = "0x779,0x379,0x280-0x2a0"
 
[Debug]
;"RelayExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection"
;"RelayInclude" = "user32.CreateWindowA"
;"RelayFromExclude" = "user32;x11drv"
;"RelayFromInclude" = "sol.exe"
;"SnoopExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection"
;"SpyExclude" = "WM_SIZE;WM_TIMER;"
 
[registry]
;These are all booleans.  Y/y/T/t/1 are true, N/n/F/f/0 are false.
;Defaults are read all, write to Home
; Where to find the global registries
;"GlobalRegistryDir" = "/etc";
; Global registries (stored in /etc)
"LoadGlobalRegistryFiles" = "Y"
; Load Windows registries from the Windows directory
"LoadWindowsRegistryFiles" = "Y"
; Registry periodic save timeout in seconds
; "PeriodicSave" = "600"
; Save only modified keys
"SaveOnlyUpdatedKeys" = "Y"
 
[Clipboard]
"ClearAllSelections" = "0"
"PersistentSelection" = "1"
"UsePrimary" = "0"
 
; List of all directories directly contain .AFM files
[afmdirs]
"1" = "/usr/share/ghostscript/fonts"
"2" = "/usr/share/a2ps/afm"
"3" = "/usr/share/enscript"
"4" = "/usr/X11R6/lib/X11/fonts/Type1"
 
[WinMM]
; Uncomment the "Drivers" line matching your sound setting.
 
"Drivers" = "wineoss.drv"      ; default for most common configurations
;"Drivers" = "winearts.drv"    ; for KDE
;"Drivers" = "winealsa.drv"    ; for ALSA users
;"Drivers" = "winejack.drv"    ; for Jack sound server
;"Drivers" = "winenas.drv"     ; for NAS sound system
;"Drivers" = "wineaudioio.drv" ; for Solaris machines
;"Drivers" = ""                ; to disable sound
"WaveMapper" = "msacm.drv"
"MidiMapper" = "midimap.drv"
 
[dsound]
;; HEL only: Number of waveOut fragments ahead to mix in new buffers.
;"HELmargin" = "5"
;; HEL only: Number of waveOut fragments ahead to queue to driver.
;"HELqueue" = "5"
;; Max number of fragments to prebuffer
;"SndQueueMax" = "28"
;; Min number of fragments to prebuffer
;"SndQueueMin" = "12"
;; Forces emulation mode (using wave api)
;"HardwareAcceleration" = "Emulation"
;; Sets default playback device (0 - number of devices - 1)
;"DefaultPlayback" = "0"    ; use first device (/dev/dsp)
;"DefaultPlayback" = "1"     ; use second device (/dev/dsp1)
;"DefaultPlayback" = "2"     ; use third device (/dev/dsp2)
;; Sets default capture device (0 - number of devices - 1)
;"DefaultCapture" = "0"        ; use first device (/dev/dsp)
;"DefaultCapture" = "1"        ; use second device (/dev/dsp1)
;"DefaultCapture" = "2"        ; use third device (/dev/dsp2)
 
[Network]
;; Use the DNS (Unix) host name always as NetBIOS "ComputerName" (boolean, default "Y").
;; Set to N if you need a persistent NetBIOS ComputerName that possibly differs
;; from the Unix host name. You'll need to set ComputerName in
;; HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName, too.
;"UseDnsComputerName" = "N"
 
;; sample AppDefaults entries
 
; 3 InstallShield versions who like to put their full screen window in front,
; without any chance to switch to another X11 application.
; So just catch them in a desktop window.
 
[AppDefaults\\_INS0432._MP\\x11drv]
"Desktop" = "640x480"
 
[AppDefaults\\_INS0466._MP\\x11drv]
"Desktop" = "640x480"
 
[AppDefaults\\_INS0576._MP\\x11drv]
"Desktop" = "640x480"
 
[AppDefaults\\_INS5176._MP\\x11drv]
"Desktop" = "640x480"
 
[AppDefaults\\_INS5576._MP\\x11drv]
"Desktop" = "800x600"
 
;[AppDefaults\\iexplore.exe\\DllOverrides]
;"shlwapi" = "native"
;"rpcrt4" = "native"
;"ole32" = "native"
;"shdocvw" = "native"
;"wininet" = "native"
;"shfolder" = "native"
;"shell32" = "native"
;"shell" = "native"
;"comctl32" = "native"
;
;[AppDefaults\\setup.exe\\x11drv]
;"Desktop" = "800x600"
;
;[AppDefaults\\sol.exe\\Version]
;"Windows" = "nt40"
;
;; Some games (Quake 2, UT) refuse to accept emulated dsound devices.
;; You can add an AppDefault entry like this for such cases.
;[AppDefaults\\pickygame.exe\\dsound]
;"EmulDriver" = "N"
 
  ;; VFP6:
   [AppDefaults\\vfp6.exe\\Version]
   "Windows" = "nt351"
 
  ;; VFP8:
   [AppDefaults\\vfp8.exe\\Version]
   "Windows" = "nt40"
 
  ;; VB6:
[AppDefaults\\vb6.exe\\Version]
   "Windows" = "nt40"
 
[AppDefaults\\vpm.exe\\Version]
   "Windows" = "nt351"
 
 
[AppDefaults\\Dreamwaver.exe\\Version]
   "Windows" = "nt351"
 
# [/wineconf]
 
***********COMO INSTALAR VISUAL FOXPRO 6,7 Y 8**********************
 

 
Una vez realizada la instalaci�n de Wine proceder con los siguientes pasos:
 

 
Copiar la instalaci�n de Fox que est� en alguna pc con Wintendo. Pueden copiarla a un CD o si saben como montar
Unidades vfat en Linux pueden copiarla desde ah�. En una pr�xima publicaci�n explicar� como motar unidades.
 

 
Donde copiarla? Cambiarse del directorio donde se encuentren al siguiente:

 
cd ~/.wine/drive_c/windows    � Ese es el directorio falso de wintendo bajo Wine
 

 
Copiar la carpeta de Visual Fox que para el caso ser�a en la mayor�a de las instalaciones Vfp98 (para fox 6), o VFPx (donde x= 7 u 8)  a este directorio de wine.

 
Buscar dentro de la carpeta System de Wintendo, las librer�as Runtime de las respectivas versiones de Fox a la carpeta system ubicada en wine dentro del siguiente directorio:

 
~/.wine/drive_c/windows/system  � directorio system de wintendo bajo Wine
 

 
Una vez copiada solo queda ejecutar Visual Fox bajo Wine abriendo una terminal asi:

 
Abrir la terminal.

 
ejecutar el siguiente comando:

 
cd ~/.wine/drive_c/Windows/Vfp98      � para la ultima entrada Vfp98 puede cambiarse por el nombre que  hallan dado a la copia de VFP dentro de la carpeta de wine.

 
Teclear lo siguiente una vez dentro del directorio:

 
wine vfp6.exe    **para la version 6 de fox
 
wine vfp7.exe    **para la version 7 de fox
 
wine vfp8.exe    **para la version 8 de fox
 

 
5.  Presionar Enter����esperar����.YOU ARE NOW ENTERING TO THE WARP ZONE!!�����
 
    
 
Y listo. Ahora deber�an ver la ejecuci�n de la IDE de Visual Fox en sus pantallas.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       Esta es la IDE de FoxPro en mi Fedora 2, ejecut�ndose a la perfecci�n.
 
 
***************NOTAS ADICIONALES************************
 
Por lo que pude observar y las pruebas que realic� en mi caja y Visual Fox, recibir�n algunos errores no significativos pero les recomiendo siempre guardar cada 2 o 3 minutos su trabajo en Visual Fox por aquello de los problemas. Cabe mencionar que Wine esta en su versi�n 20040813 y cada vez m�s se aproxima a una versi�n potente digna de admirar.
 
Realic� pruebas en distintas versiones de Wine, desde la 20021219, pasando por varias versiones 2003xxxx y est� �ltima la 20040813 pero nunca supe de la ausencia del archivo config en las versiones RPM, hasta que prob� la versi�n .TAR. (Ignorancia si, pero todo es parte del proceso de aprendizaje)
Creo que haciendo el archivo config para las versiones RPM que no lo tienen y haciendo las modificaciones para los archivos config de las versiones .TAR debe ser suficiente.
 
En qu� me baso? estas pruebas fueron realizadas bajo instrucciones de documentos publicados por Paul McNett en su portal propio. Dichos documentos est�n en idioma ingl�s y me tomo la molestia de resumirlos y traducirlos en esta explicaci�n orientada a evitarles todas las vueltas por Internet que yo hice en alguna ocasi�n. (Trabajo duro que me tom� 1 mes, pero que vali� la pena).
 
La documentaci�n pueden encontrarla en:
 
http://www.paulmcnett.com/articles.php
 
y deben leer los 3 documentos: Foxtalk1, Foxtalk2 y Whitepaper
 
(Yo les resumo lo necesario para echar a andar Visual FoxPro pero hay informaci�n de inter�s en los documentos).
 
Muy bien, eso es todo por ahora. Espero les sirva y les sea de provecho.
 
Luiyi.
 
P.D. Justo ahora estoy realizando pruebas para ejecutar Visual Basic, tomando la misma idea de Fox, pero a�n con errores.
 
Actualmente realizando pruebas de conexi�n de datos ODBC de MySQL y PostgreSQL ejecutados bajo la misma caja linux con VFP.
 
!!!   VIVA LINUX Y LA COMUNIDAD GNU!!!!
 
 
 
 
 
 
 
 
 
Pr�ximas notas
 
 
Como ejecutar Visual FoxPro 6,7 y 8 bajo Linux
Screen shot: VFP y Linux
Comentarios?
Disponible pronto
 
Hosted by www.Geocities.ws

1