Utilizamos la siguiente rutina para actualizar nuestro sistema Cliente-Servidor en cada estación de Trabajo:
ON ERROR DO SYSERROR WITH ERROR(),MESSAGE(),MESSAGE(1),PROGRAM(),LINENO()
msistema = "SAI-XP versión 13 Profesional"
SET DATE BRITISH
CLEAR
SET CENTURY ON
MODIFY WINDOW screen NOGROW NOCLOSE TITLE "SAI-XP versión 13 Profesional"
ZOOM WINDOW screen MAX
ADIR(anterior, "C:\SAI-XP\SAI-XP.EXE")
mfecha = anterior(1,3)
mhora = anterior(1,4)
ADIR(actual, "\\SERVER\SISTEMA\SAI-XP\SAI-XP.EXE")
nfecha = actual(1,3)
nhora = actual(1,4)
IF nfecha > mfecha .OR. nhora > mhora
IF MESSAGEBOX("La Última fecha de actualización de su Sistema SAI-XP versión 13 Profesional es: " + TRANSFORM(mfecha) + " a las " + mhora + CHR(13) + CHR(13) + "Existe una actualización al: " + TRANSFORM(nfecha) + " a las " + nhora + " disponible para descargar desde el Servidor de Archivos" + CHR(13) + CHR(13) + "¿Desea Actualizar su Sistema con la última versión Instalada?", 036, "Actualizar SAI-XP.EXE") = 6
RUN COPY \\SERVER\SISTEMA\SAI-XP\SAI-XP.EXE \SAI-XP\SAI-XP.EXE /Y
RUN /N SAI-XP.EXE
ENDIF
ELSE
RUN /N SAI-XP.EXE
ENDIF
ENDPROC
*
PROCEDURE SYSERROR
PARAMETER m_numero, m_mensaje, m_instrucc, m_programa, m_linea
DO CASE
CASE m_numero = 1
MESSAGEBOX("La máquina no se conectó a la Red", 048, msistema)
ON ERROR
CANCEL
ENDCASE
ENDPROC
*
En Windows XP no teniamos problema pero en Windows 7 no se copia porque muestra el mensaje "Necesitará proporcionar permisos de administrador para copiar este archivo". Porque se tiene que grabar en el Disco C: en la carpeta SAI-XP.
Gracias por su ayuda.
Saludos