19 de mayo de 2008

Haciendo aplicaciones portables en VFP - Parte 1 de 3

Autor: Sergio Hugo Sanchez

Hoy en dia parece que vuelve una fiebre por las aplicaciones portables. Como si fuera la gran novedad de estos tiempos. Aun recuerdo como si fuera ayer cuando TODAS las aplicaciones eran portables.

Asi es, antes de Windows, en el mundo de MSDOS todas las aplicaciones eran portables. Creabas el directorio (entonces no se conocia el concepto de "carpeta"). copiabas los archivos y voila!. Ya esta. Nada de instalar en la carpeta de archivos de programas, o de windows o de system32, o del registro. En fin, eran otros tiempos.

Ahora me ha surgido un proyecto en el cual tengo que hacer una de tres cosas:

1) Instalar la aplicacion en un servidor y ejecutarla desde ahi a ciertos usuarios para que esten disponibles atraves de una WAN.

2) Instalar la aplicacion en cada computadora de la WAN con acceso a los datos del servidor (cliente/servidor), crear unas cuentas de usuario para que solo los autorizados utilicen dicha aplicacion.

3) Hacer una aplicacion portable que se ejecute en un disco USB de tal forma que solo los usuarios autorizados lleven su llave y la ejecuten en cualquier computadora de la WAN. Ojo, los datos no estaran en el USB, sino que quiza residan en el servidor de la empresa.

Pues bien. Se podra?

La cuestion es ... seguridad. Las personas autorizadas podran desplazarse a cualquier punto de la WAN y usar alguna de las PC para conectarse a la base de datos central. Sin embargo, dicha aplicacion no deberia residir en la PC local. Aunque se creen cuentas de usuario y se apliquen restricciones de uso, o se escondan las carpetas, o se use un programa con contrasena de carpetas o aplicaciones, la idea es que simplemente no aparezca.

Que tal si hay un robo, o un accidente, o desastre y la PC de alguna forma se ve afectada? Los datos no deben residir en ella, y de preferencia tampoco la aplicacion.

COMO CREAR UNA APLICACION PORTABLE EN VFP.

Se que los gurus y viejos programadores de VFP saben esto desde hace años, ya que Fox siempre ha sido portable desde DOS. Bastaba con poner los runtimes en la misma carpeta y ya.

Paso 1.

Para comenzar, he copiado todos los archivos del sistema/programa a una carpeta del USB. DBFs locales, archivos ini, iconos, ejecutables, etc.

Paso 2.

En segundo lugar, he copiado los archivos runtime que indica la ayuda de Visual Fox. A su saber:
vfp9r.dll
vfp9renu.dll
msvcr71.dll
Hasta aqui va funcionando. Ahora, como mi aplicacion utiliza un par de archivos OCX, tambien debemos incluirlos. Estos se copian a la carpeta raiz del mismo sistema. Todo junto.

Listo. Si su aplicacion es VFP puro sin librerias extras. Creo que hasta aqui esta resuelto el problema.

El problema vendra si tiene archivos OCX o DLL que registrar, asi como si va a trabajar con Windows Vista y su sistema tiene que usar estos registros.

No estoy hablando de la parte de los datos. Los datos pueden residir incluso en el servidor o en la misma carpeta donde esta el sistema. Eso es otro tema.

Cuando tiene controles ActiveX a registrar necesitamos hacer una pequena rutina que podamos ejecutar para que se autoregistren. Eso lo veremos en el proximo tema.

No hay comentarios. :

Publicar un comentario