30 de abril de 2016

Actualizar aplicaciones

Permite actualizar la Aplicacion tanto en el equipo local como actualizar el servidor donde esta la aplicacion a distribuir.

Poner este codigo en archivo de inicio principal (prg).

Luego de Generar nuestro ejecutable, el instalador ademas de todos los archivos necesarios, tiene que instalar en cada maquina el Archivo ACTUALIZA.BAT y/o UPLOAD.BAT

El Archivo Upload.bat es identico al Actualiza solo cambia la direccion de la copia.

***** Comprueba Nueva Version  *******

AGETFILEVERSION(ServerApp,"\\miservidor")
Version_Mayor = VAL(SUBSTR(ServerApp(4),1,1))
Version_Menor = VAL(SUBSTR(ServerApp(4),3,AT(ServerApp(4),".",1) + 1))
Version_Mantension = VAL(SUBSTR(ServerApp(4),5,2) )

AGETFILEVERSION(MiApp,"C:\Archivos de programa\CDP\CDP.exe")
MiVersion_Mayor = VAL(SUBSTR(miapp(4),1,1))
MiVersion_Menor = VAL(SUBSTR(miapp(4),3,AT(miapp(4),".",1) + 1))
MiVersion_Mantension = VAL(SUBSTR(miapp(4),5,2) )
*
IF !(MiVersion_Mayor = Version_Mayor.AND.MiVersion_Menor = Version_Menor ;
.AND.MiVersion_Mantension = Version_Mantension)
  **** Actualizar
  ** Si soy yo copia al servidor
  IF UPPER(ALLTRIM(SUBSTR(SYS(0),AT("#",SYS(0),1) + 1,LEN(SYS(0))))) = "miUsername"
    MESSAGEBOX("Las Versiones Son: ServerApp -> " + ServerApp(4) + CHR(13) + ;
      "Local App. ->" + miApp(4) + CHR(13) + "Actualizando el Servidor")

    RUN /N "C:\Archivos de programa\CDP\UPLOAD.BAT"
  ELSE

    SET DEFAULT TO "C:\Archivos de programa\CDP"
    RUN /N "ACTUALIZA.BAT"
    QUIT
  ENDIF
ENDIF

***** Fin Comprobacion de Actualizacion

Contenido del archivo ACTUALIZA.BAT

@ECHO OFF
@ECHO Actualizando Sistema xxxxxxx
@ECHO AUTOR.: Ludwig Corales M.
@ECHO Actualizado al : %DATE%
@xCopy \\soft\CDP.EXE "C:\Archivos de programa\CDP" /C /R /Y

***** Fin Contenido **********

***** Contenido del archivo UPLOAD.BAT ******

@ECHO OFF
@ECHO Actualizando Sistema xxxxxxx
@ECHO AUTOR.: Ludwig Corales M.
@ECHO Actualizado al Servidor : %DATE%
@xCopy "C:\Archivos de programa\CDP\CDP.exe" \\soft\  /C /R /Y

***** Fin Contenido **********

Notar que se comparan siempre tanto las versiones mayores, menores y sub versiones, para ver si se actualiza o no.

Atte.

Ludwig Corales Marti

2 comentarios :

  1. cuando dices "\\miservidor" peude ser el servidorde la red ejemplo
    "\\SVRENTERPRISE\Publica\Productrofo\" ????

    ResponderEliminar
  2. En mi caso tengo mi aplicación corriendo en C:\terrenos\
    y su nombre es Terrenos.exe
    y en el servidor local esta en \\serverterrenos\public\Terrenos\
    y se llama terrenos.exe
    Como debería configurar ???

    ResponderEliminar