Parti da ideia de vocês e já fiz funcionar a atualização via LETODBF
do executável mais novo.
#include "Directry.ch"
#include "rddleto.ch"
#include "hwgui.ch"
REQUEST LETO
REQUEST HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850
****************************************
FUNCTION MAIN( IpdaRede )
****************************************
LOCAL oExeList;
, cCaminho;
, cParam:=IpdaRede;
, icone:=HIcon():Addresource('SGC_ICON') ;
, cPathEXE:="//IPDOSERVIDORLETO:2812/";
, oExeLETO
Set( _SET_CODEPAGE, "PTISO" )
SET DATE BRITISH
SET EPOCH TO Year( Date() ) - 90
cCaminho:= hb_FNameDir( hb_ProgName() )
oExeList:=HB_Directory(cCaminho + "SGC*.EXE")
ASort( oExeList, , , { | a, b | Dtos( a[ F_DATE ] ) + a[ F_TIME ] > Dtos( b[ F_DATE ] ) + b[ F_TIME ] } )
IF ( leto_Connect( cPathEXE ) ) < 0
hwg_MsgInfo( "Erro Conectando ao Servidor de FTP: " + cPathEXE + leto_Connect_Err( .T. ), "Verifique!!!")
quit
ENDIF
IF Len( oExeList ) < 1
oExeLETO:=LETO_Directory("SGC/SGC*.EXE")
ASort( oExeLETO, , , { | a, b | Dtos( a[ F_DATE ] ) + a[ F_TIME ] > Dtos( b[ F_DATE ] ) + b[ F_TIME ] } )
// hwg_MsgInfo( cPathEXE+"SGC/"+oExeLETO[ 1, F_NAME ] + " --> " + cCaminho+oExeLETO[ 1, F_NAME ] )
Leto_FCopyFromSrv( cCaminho+oExeLETO[ 1, F_NAME ], cPathEXE+"SGC/"+oExeLETO[ 1, F_NAME ] )
ELSE
oExeLETO:=LETO_Directory(cPathEXE+"SGC/SGC*.EXE")
ASort( oExeLETO, , , { | a, b | Dtos( a[ F_DATE ] ) + a[ F_TIME ] > Dtos( b[ F_DATE ] ) + b[ F_TIME ] } )
IF Upper( oExeLETO[ 1, F_NAME ] ) != Upper( oExeList[ 1, F_NAME ] )
Leto_FCopyFromSrv( cCaminho+oExeLETO[ 1, F_NAME ], cPathEXE+"SGC/"+oExeLETO[ 1, F_NAME ] )
ENDIF
ENDIF
oExeList:=HB_Directory(cCaminho + "SGC*.EXE")
ASort( oExeList, , , { | a, b | Dtos( a[ F_DATE ] ) + a[ F_TIME ] > Dtos( b[ F_DATE ] ) + b[ F_TIME ] } )
WAPI_ShellExecute( NIL, "open", cCaminho + oExeList[ 1, F_NAME ], cParam, hb_cwd(), SW_SHOWNORMAL )
RETURN NIL
************************************************
STATIC FUNCTION hwg_Exclamation( cText )
************************************************
RETURN wapi_MessageBox( wapi_GetActiveWindow(), cText, "Atenção", MB_ICONASTERISK )
TESTADO E APROVADO, dicas do Prof. Quintas
tenho dois EXE o SSGC.EXE mostrado acima verifica se tem oSGC*.EXE mais novo e executa, se não tiver ele baixa do meu servidor a ultima versão
e executa a mais nova. muito rapido
:)) :)) :)) :))