515 lines
20 KiB
Plaintext
515 lines
20 KiB
Plaintext
*!* 21.07.2009
|
|
*!* marius.mutu
|
|
*!* set library to inainte de dezarhivarea arhivelor (vezi comunroa care are vfpencryption si da conflict)
|
|
|
|
*!* 19.03.2024
|
|
*!* marius.mutu
|
|
*!* updatecheck: s-a inlocuit dezarhivarea cu vfpcompression cu shell.copyhere
|
|
|
|
*!* comun\programe\
|
|
*!* oupdate.prg
|
|
*!* iniacces.prg
|
|
*!* procese.prg
|
|
*!* version.prg
|
|
*!* xmlaccess.prg
|
|
*!* xmlparser.prg
|
|
*!* filebringer.prg
|
|
*!* wwcodeupdate.prg
|
|
*!* wwhttp.prg
|
|
*!* wwapi.prg
|
|
|
|
*!* comun\include\
|
|
*!* security.h
|
|
|
|
*!* comun\clase\
|
|
*!* wwdialogs.vcx
|
|
|
|
*!* main.prg
|
|
*!* PRIVATE gcDirMare
|
|
*!* gcDirMare=Left(gcAppPath,liat)
|
|
|
|
*!* SET CLASSLIB TO wwdialogs ADDITIVE
|
|
|
|
#Define crlf Chr(13)+Chr(10)
|
|
Define Class oUpdate As Custom
|
|
oInterfataXml = Null
|
|
oContainerAfisare = Null
|
|
cFisier = Null
|
|
cExtensieFisier = [.zip]
|
|
cExtensieFisierExe = [.exe] && pentru romfast_suport
|
|
|
|
Procedure Init
|
|
Lparameters tcFisier,toContainerAfisare,tcProgram
|
|
Declare ExitProcess In WIN32API Integer
|
|
|
|
Return This.initializeazaDate(tcFisier,toContainerAfisare,tcProgram)
|
|
Endproc
|
|
|
|
Function reinitializeazaDate
|
|
Lparameters tcFisier,toContainerAfisare,tcProgram
|
|
This.oInterfataXml = Null
|
|
Return This.initializeazaDate(tcFisier,toContainerAfisare,tcProgram)
|
|
Endfunc
|
|
|
|
Function initializeazaDate
|
|
Lparameters tcFisier,toContainerAfisare,tcProgram
|
|
Local llReturn
|
|
llReturn = .T.
|
|
This.oContainerAfisare = toContainerAfisare
|
|
If Empty(tcFisier)
|
|
This.cFisier= This.getServer()
|
|
Else
|
|
This.cFisier = tcFisier
|
|
Endif
|
|
This.oInterfataXml = Createobject("xmlAccess",This.cFisier)
|
|
If Type('This.oInterfataXml') <> 'O'
|
|
This.actualizeazaContainerAfisare("Nu se pot face actualizãri!")
|
|
If !Empty(tcProgram)
|
|
lcVersiune = Iif(Left(tcProgram,3)='ROA',Getversion(tcProgram),GetTxtVersion(tcProgram))
|
|
lcVersiune = Iif(lcVersiune = [0.0.0],[...],[ ] + lcVersiune)
|
|
This.actualizeazaContainerAfisare("Se lanseazã " + tcProgram + lcVersiune)
|
|
Endif
|
|
llReturn = .F.
|
|
Endif
|
|
Return llReturn
|
|
Endfunc
|
|
|
|
Procedure actualizeazaContainerAfisare
|
|
Lparameters tcMesaj &&,tlSelStart modificare ROASTART v 2.0.23
|
|
If Type('this.oContainerAfisare') = 'O'
|
|
This.oContainerAfisare.Value = This.oContainerAfisare.Value + tcMesaj + crlf
|
|
*!* modificare ROASTART v 2.0.23
|
|
*!* If tlSelStart
|
|
*!* This.oContainerAfisare.SelStart = Len(This.oContainerAfisare.Value)
|
|
*!* Endif
|
|
*!* modificare ROASTART v 2.0.23 ^
|
|
This.oContainerAfisare.Refresh()
|
|
Endif
|
|
Endproc
|
|
|
|
Function getServer
|
|
Local lcnumeserver
|
|
|
|
lcnumeserver=[]
|
|
If Type('goFirma') = 'O' And Type('goFirma.nume_server') <> 'U'
|
|
lcnumeserver = Alltrim(goFirma.nume_server)
|
|
Else
|
|
lcSql = [select nume_server from syn_nom_firme where id_firma=?gnIdFirma]
|
|
lnSucces = goExecutor.oExecute(lcSql,[crsnf])
|
|
If lnSucces < 0
|
|
aMessagebox(goExecutor.ceroare,64,'Eroare')
|
|
Else
|
|
Select crsnf
|
|
lcnumeserver = Alltrim(nume_server)
|
|
Endif
|
|
If Used('crsnf')
|
|
Use In crsnf
|
|
Endif
|
|
Endif
|
|
Return lcnumeserver
|
|
Endfunc
|
|
Procedure createUpdateCursor
|
|
Lparameters tcNumeCursor
|
|
This.oInterfataXml.getXmlItems(tcNumeCursor)
|
|
Endproc
|
|
|
|
Function Getversion
|
|
Lparameters tcProgram
|
|
Return This.oInterfataXml.Getversion(tcProgram)
|
|
Endfunc
|
|
|
|
Function updatecheckTxt
|
|
Lparameters tcCurrentProg, tlSilent, tlLocalFileExist
|
|
* tlLocalFileExist: daca exista fisierul pe calculator. se descarca chiar daca versiunile din fisierul de setari si cel de pe internet sunt la fel, dar nu exista fisierul pe local
|
|
|
|
Local lcCaleActualizari, lcVersiuneLocal, lcVersiuneInternet, lcFisier, lcFisierVersiuniInternet, lcSectiune, lcExtensieFisier
|
|
Local lcLibraryPath, loEx As Exception
|
|
lcLibraryPath = gcDirMare + [COMUNROA\vfpconnection.fll]
|
|
*!* modificare 06.03.2014 : am adaugat lcExtensieFisier in loc de This.cExtensieFisier
|
|
lcExtensieFisier = IIF(INLIST(tcCurrentProg, [romfast_suport], [roascreenshot]),This.cExtensieFisierExe,This.cExtensieFisier)
|
|
If File(lcLibraryPath)
|
|
Try
|
|
Set Library To (lcLibraryPath) Additive
|
|
lcCaleActualizari = [http://www.romfast.ro/romfastsuport/files/]
|
|
lcFisierVersiuniInternet = [versiune_aplicatii.txt]
|
|
lcSectiune = [versiuni]
|
|
lcFisier = lcCaleActualizari + lcFisierVersiuniInternet
|
|
If !HTTPGet(lcFisier, gcTempPath+lcFisierVersiuniInternet, [MyProgressHandler("] + lcFisier + [")])
|
|
IF !m.tlSilent
|
|
polog.Log("Nu se poate descarca fisierul cu versiuni! " + m.lcFisier, Program())
|
|
Messagebox("Nu se poate descarca fisierul cu versiuni!",16,"Eroare")
|
|
ENDIF
|
|
Else
|
|
lcBuffer=Space(255)
|
|
|
|
DECLARE INTEGER GetPrivateProfileString ;
|
|
IN WIN32API ;
|
|
STRING cSection,;
|
|
STRING cEntry,;
|
|
STRING cDefault,;
|
|
STRING @cRetVal,;
|
|
INTEGER nSize,;
|
|
STRING cFileName
|
|
|
|
GetPrivateProfileString(lcSectiune,tcCurrentProg,"",@lcBuffer, Len(lcBuffer), gcTempPath+lcFisierVersiuniInternet)
|
|
lcVersiuneInternet = Alltrim(Strtran(lcBuffer,Chr(0),""))
|
|
Delete File (gcTempPath+lcFisierVersiuniInternet)
|
|
loIniHandler = Createobject("iniaccess")
|
|
lcVersiuneLocal = loIniHandler.getCValue(lcSectiune,tcCurrentProg)
|
|
polog.Log("Program: " + tcCurrentProg + " VersiuneLocal: " + lcVersiuneLocal + " VersiuneInternet: " + lcVersiuneInternet + " LocalFileExist: " + TRANSFORM(m.tlLocalFileExist), Program())
|
|
If ((Empty(lcVersiuneLocal) Or lcVersiuneLocal < lcVersiuneInternet) And !Empty(lcVersiuneInternet)) OR !m.tlLocalFileExist
|
|
*!* modificare 28.06.2012 : am adaugat This.cExtensieFisier in loc de .exe
|
|
*!* modificare 06.03.2014 : am adaugat lcExtensieFisier in loc de This.cExtensieFisier
|
|
lcFisier = lcCaleActualizari + tcCurrentProg + lcExtensieFisier
|
|
If (Bringfile(lcFisier,tcCurrentProg,gcDirMare+tcCurrentProg+lcExtensieFisier )=.F.)
|
|
IF !m.tlSilent
|
|
polog.Log("Eroare la copierea "+tcCurrentProg + ", versiunea "+lcVersiuneInternet+"!", Program())
|
|
Messagebox("Eroare la copierea "+tcCurrentProg + ", versiunea "+lcVersiuneInternet+"!",16,"Eroare")
|
|
ENDIF
|
|
Else
|
|
loIniHandler.setCValue(lcSectiune,tcCurrentProg,lcVersiuneInternet)
|
|
Endif
|
|
Endif
|
|
Release loIniHandler
|
|
Endif
|
|
Catch To loEx
|
|
IF !m.tlSilent
|
|
polog.Log('vfpconnection ' + loEx.Message, Program())
|
|
Messagebox('vfpconnection ' + loEx.Message)
|
|
ENDIF
|
|
Endtry
|
|
Endif
|
|
Return .T.
|
|
Endfunc
|
|
|
|
Function updatecheck
|
|
Lparameters tccurrentprog,tlmsgshow,tnTipActualizare,tcDefaultDir
|
|
* tccurrentprog este programul care trebuie actualizat
|
|
* lcmsgshow - daca e true,atunci se citeste din ini daca apare mesajul de confirmare sau nu
|
|
* tnTipActualizare - 0 = este din numeserver.xml ;
|
|
1 = este din roastart.xml ;
|
|
2 = programul se actualizeaza singur la pornire
|
|
* tcDefaultDir - directorul in care se copiaza actualizarile pentru configurarile USER... ;
|
|
( de ex.: DEV_USERREPORTS e tccurrentprog,dar trebuie sa fie copiat in USERREPORTS )
|
|
|
|
Local iniHandler As Object,lnTipFisier,lnTipActualizare && modificare v 2.0.14 : am adaugat lnTipFisier
|
|
LOCAL lcOldLibrary
|
|
|
|
lnTipActualizare = Iif(!Empty(tnTipActualizare),tnTipActualizare,0)
|
|
*!* modificare v 2.0.6
|
|
*!* If Used("SERVER_INFO")
|
|
*!* Use In SERVER_INFO
|
|
*!* Endif
|
|
*!* modificare v 2.0.6 ^
|
|
If lnTipActualizare<>2
|
|
If At("_",tccurrentprog)#0
|
|
lccurrentUR=Substr(tccurrentprog,At("_",tccurrentprog)+1)
|
|
Else
|
|
lccurrentUR=tccurrentprog
|
|
Endif
|
|
|
|
********************************************
|
|
* Rularea procedurii de update pentru
|
|
* toate programele in afara de ROASTART
|
|
********************************************
|
|
|
|
|
|
lbrun=.T.
|
|
Local lraspuns
|
|
lraspuns=4
|
|
Local loex1,loex2,loex As Exception
|
|
*!* Verifica daca trebuie rulate
|
|
*!* procedurile de update
|
|
This.actualizeazaContainerAfisare(tccurrentprog + " se verificã ultima versiune")
|
|
iniHandler=Createobject("iniaccess")
|
|
If lnTipActualizare = 0
|
|
lnTipFisier = 0
|
|
If Empty(This.cFisier) Or This.cFisier = "ROASTART"
|
|
XmlData="nu s-a putut conecta"
|
|
Else
|
|
polog.Log("S-a gasit serverul "+This.cFisier,Program())
|
|
polog.Log("Se cauta pentru "+This.cFisier+".XML",Program())
|
|
XmlData=This.oInterfataXml.ReadXmlFile(tccurrentprog)
|
|
Endif
|
|
Else
|
|
If Left(tccurrentprog,3)="ROA"
|
|
lnTipFisier = 0
|
|
Else
|
|
lnTipFisier = 1
|
|
Endif
|
|
polog.Log("Se cauta xml-ul pentru "+tccurrentprog,Program())
|
|
XmlData=This.oInterfataXml.ReadXmlFile(tccurrentprog)
|
|
Endif
|
|
Do Case
|
|
Case XmlData$"<>(){}"
|
|
polog.Log("Nu s-au gasit in fisierul Xml inregistrari pentru "+tccurrentprog,Program())
|
|
Case XmlData$"nu s-a putut conecta"
|
|
If iniHandler.getURL()!=""
|
|
This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare pe internet.")
|
|
else
|
|
This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare în reþea/local.") &&,.T. modificare ROASTART v 2.0.23
|
|
Endif
|
|
Otherwise
|
|
|
|
If tlmsgshow=.F.
|
|
lcallowconfirm=.T.
|
|
Else
|
|
lcallowconfirm=.F.
|
|
If(iniHandler.getAllowConfirm())
|
|
lcallowconfirm=.T.
|
|
Endif
|
|
Endif
|
|
|
|
If Compareversion(stripXmlVersion(XmlData),XmlData,;
|
|
IIF(Empty(tcDefaultDir),tccurrentprog,tcDefaultDir),lcallowconfirm,lnTipFisier)
|
|
polog.Log("S-a gasit versiunea " + stripXmlVersion(XmlData) + " pentru "+tccurrentprog + " (" + Getversion(tccurrentprog) + ")",Program())
|
|
lcconfirm=0
|
|
If iniHandler.getAllowConfirm()
|
|
lcconfirm = aMessagebox(stripXmlMsg(XmlData)+crlf+"Doriþi sã-l încãrcaþi?",36,"Confirmare actualizare")
|
|
Else
|
|
lcconfirm = 6
|
|
Endif
|
|
If lcconfirm = 6
|
|
This.actualizeazaContainerAfisare(tccurrentprog + " se actualizeazã versiunea "+stripXmlVersion(XmlData))&&,.T. modificare ROASTART v 2.0.23
|
|
polog.Log("Se incepe actualizarea "+tccurrentprog+" la versiunea "+stripXmlVersion(XmlData),Program())
|
|
*!* Verifica daca nu cumva programul este in procese
|
|
*This.oContainerAfisare.value = This.oContainerAfisare.value+"Se verfica daca se poate face updateul" + crlf
|
|
polog.Log("Se verifica daca nu cumva programul este in procese ",Program())
|
|
lnWinHandle=1
|
|
Do While lnWinHandle=1 And lraspuns=4
|
|
lnWinHandle=0
|
|
|
|
If CheckProcess(tccurrentprog)
|
|
lnWinHandle=1
|
|
*This.oContainerAfisare.value = This.oContainerAfisare.value+"Nu se poate face updateul(fisier in uz)" + crlf
|
|
polog.Log("Programul s-a gasit printre procesele care ruleaza",Program())
|
|
Endif
|
|
|
|
If lnWinHandle =1
|
|
lraspuns=aMessagebox("Închideti toate instantele " + tccurrentprog + " ºi apãsaþi pe Repetã pentru a actualiza programul!",21,"Actualizare")
|
|
Else
|
|
Exit
|
|
Endif
|
|
Enddo
|
|
If lraspuns=2
|
|
polog.Log("S-a respins actualizarea",Program())
|
|
This.actualizeazaContainerAfisare("S-a respins actualizarea " + tccurrentprog)&&,.T. modificare ROASTART v 2.0.23
|
|
Endif
|
|
|
|
If lnWinHandle =0
|
|
************review ..CV
|
|
************03.oct.2007
|
|
polog.Log("Se aduce fisierul",Program())
|
|
myfilestr=StripXmlFile(XmlData)
|
|
If iniHandler.getDefault()="URL"
|
|
If Occurs("http",myfilestr)>0
|
|
lcFileToBeBrought=myfilestr
|
|
Else
|
|
If Left(myfilestr,1)="\"
|
|
lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1)
|
|
Else
|
|
lcFileToBeBrought=myfilestr
|
|
Endif
|
|
lcFileToBeBrought=iniHandler.getURL()+"/"+lcFileToBeBrought
|
|
Endif
|
|
lcFileToBeBrought = strtran(lcFileToBeBrought,[\],[/]) && modificare ROASTART v 2.1.3
|
|
Else
|
|
If Left(myfilestr,1)="\"
|
|
lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1)
|
|
Else
|
|
lcFileToBeBrought=myfilestr
|
|
Endif
|
|
lcFileToBeBrought=Addbs(ShortPath(iniHandler.getNetworkPath()))+lcFileToBeBrought
|
|
Endif
|
|
****************review***Cristian Vasile***
|
|
****************cale relativa URL**********
|
|
******************************03.10.2007***
|
|
If(Bringfile(lcFileToBeBrought,tccurrentprog)=.F.)
|
|
aMessagebox("A intervenit o eroare la copierea fisierului!",16,"Copiere")
|
|
polog.Log("A intervenit o eroare la copierea fisierului",Program())
|
|
*This.oContainerAfisare.txt_Mesaj.Caption = This.oContainerAfisare.txt_Mesaj.Caption+"A intervenit o eroare la copierea fisierului" + crlf
|
|
Else
|
|
tempfile = GetCurrentTempPath(tccurrentprog)
|
|
Cd Addbs(Justpath(tempfile))
|
|
|
|
*!* lcEncryptionFile = gcComunPath+"vfpcompression.fll"
|
|
*!* IF !"vfpcompression"$LOWER(SET("Library"))
|
|
*!* SET LIBRARY TO (lcEncryptionFile) ADDITIVE
|
|
*!* ENDIF
|
|
*!* UnzipQuick(tempfile)
|
|
|
|
lcErrorMessage = ''
|
|
lcUnzipDir = JUSTPATH(m.tempfile)
|
|
llSucces = UnzipQuickShell(m.tempfile, @lcUnzipDir, @lcErrorMessage)
|
|
IF m.llSucces
|
|
polog.Log("S-a actualizat "+ tccurrentprog + " la versiunea "+stripXmlVersion(XmlData),Program())
|
|
This.actualizeazaContainerAfisare(tccurrentprog + " s-a actualizat la versiunea "+stripXmlVersion(XmlData))&&,.T. modificare ROASTART v 2.0.23
|
|
ELSE
|
|
|
|
polog.Log("Nu s-a actualizat "+ tccurrentprog + " la versiunea "+stripXmlVersion(XmlData),Program())
|
|
This.actualizeazaContainerAfisare(tccurrentprog + " NU s-a actualizat la versiunea "+stripXmlVersion(XmlData) + " " + m.lcErrorMessage)&&,.T. modificare ROASTART v 2.0.23
|
|
ENDIF
|
|
lcDir=Addbs(Justpath(Sys(16,0)))
|
|
*!* Stergere temporar
|
|
*!*
|
|
Try
|
|
*!* modificare 28.06.2012
|
|
*!* Delete File "&tempfile"
|
|
DELETE FILE (tempfile)
|
|
*!* modificare 28.06.2012 ^
|
|
Catch To loex2
|
|
If loex2.ErrorNo=1705
|
|
This.actualizeazaContainerAfisare("NU s-a putut sterge fisierul temporar!")&&,.T. modificare ROASTART v 2.0.23
|
|
Endif
|
|
Endtry
|
|
|
|
*!*
|
|
|
|
If Atc("PROCEDURE",lcDir) > 0
|
|
lcDir = Substr(lcDir,Rat(":",lcDir)-1)
|
|
Endif
|
|
Cd (lcDir)
|
|
|
|
Endif
|
|
Else
|
|
* MESSAGEBOX("Inchideti toate instantele de ale ROA - Financiar contabilitate pentru a actualiza programul.",16,"Actualizare !")
|
|
lbrun=.F.
|
|
Endif
|
|
Else
|
|
*!* Strtofile(Dtoc(Date())+" "+Time()+" > S-a respins de utillizator updateul programului "+tccurrentprog+Chr(13)+Chr(10),gcDirMare + "updates.log",1)
|
|
polog.Log("S-a respins de utilizator actualizarea programului "+tccurrentprog,Program())
|
|
|
|
Endif
|
|
|
|
Else
|
|
polog.Log(tccurrentprog + " " + stripXmlVersion(XmlData)+" este cea mai noua versiune.",Program())
|
|
This.actualizeazaContainerAfisare(tccurrentprog + " " + stripXmlVersion(XmlData)+" este cea mai nouã versiune.")&&,.T. modificare ROASTART v 2.0.23
|
|
Endif
|
|
Endcase
|
|
|
|
|
|
*!* Release InterfataXml
|
|
Release iniHandler
|
|
|
|
|
|
Return lbrun
|
|
|
|
********************************************
|
|
* Rularea procedurii de update pentru
|
|
* toate programele in afara de ROASTART
|
|
********************************************
|
|
Else
|
|
Try
|
|
*!* modificare 28.06.2012
|
|
*!* Delete file "temporar.exe"
|
|
Delete File "temporar"+This.cExtensieFisier
|
|
*!* modificare 28.06.2012 ^
|
|
Delete File "test.vbs"
|
|
Endtry
|
|
*MESSAGEBOX("Verificare")
|
|
*!* InterfataXml=Createobject("xmlAccess")
|
|
iniHandler=Createobject("iniaccess")
|
|
|
|
XmlData=This.oInterfataXml.ReadXmlFile(tccurrentprog)
|
|
Do Case
|
|
Case XmlData$"<>(){}"
|
|
polog.Log("Nu s-au gasit in fisierul Xml inregistrari pentru "+tccurrentprog,Program())
|
|
Case XmlData$"nu s-a putut conecta"
|
|
If iniHandler.getURL()!=""
|
|
This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare pe internet.")
|
|
ELSE
|
|
This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare în reþea/local.")&&,.T. modificare ROASTART v 2.0.23
|
|
Endif
|
|
Otherwise
|
|
polog.Log("Am inceput update "+tccurrentprog+" !",Program())
|
|
polog.Log("Versiunea din xml este " + stripXmlVersion(XmlData))
|
|
If Compareversion(stripXmlVersion(XmlData),XmlData,tccurrentprog,iniHandler.getAllowConfirm())
|
|
polog.Log("Am detectat versiuni diferite",Program())
|
|
lcconfirm=0
|
|
If iniHandler.getAllowConfirm()
|
|
lcconfirm = aMessagebox(stripXmlMsg(XmlData)+crlf+"Doriþi sã-l încãrcaþi?",292,"Confirmare actualizare")
|
|
Else
|
|
lcconfirm = 6
|
|
Endif
|
|
|
|
If lcconfirm = 6
|
|
polog.Log("Trebuie sa aduca programul",Program())
|
|
************review ..CV
|
|
************03.oct.2007
|
|
myfilestr=StripXmlFile(XmlData)
|
|
If iniHandler.getDefault()="URL"
|
|
If Occurs("http",myfilestr)>0
|
|
lcFileToBeBrought=myfilestr
|
|
Else
|
|
If Left(myfilestr,1)="\"
|
|
lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1)
|
|
Else
|
|
lcFileToBeBrought=myfilestr
|
|
Endif
|
|
lcFileToBeBrought=iniHandler.getURL()+"/"+lcFileToBeBrought
|
|
Endif
|
|
|
|
Else
|
|
If Left(myfilestr,1)="\"
|
|
lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1)
|
|
Else
|
|
lcFileToBeBrought=myfilestr
|
|
Endif
|
|
lcFileToBeBrought=Addbs(ShortPath(iniHandler.getNetworkPath()))+lcFileToBeBrought
|
|
Endif
|
|
****************review***Cristian Vasile***
|
|
****************cale relativa URL**********
|
|
******************************03.10.2007***
|
|
If(Bringfile(lcFileToBeBrought,tccurrentprog)=.F.)
|
|
aMessagebox("A intervenit o eroare la încercarea copierii fiºierului de actualizare!",16,"Actualizare")
|
|
Else
|
|
polog.Log("Am adus programul",Program())
|
|
*!* tempfile = GetCurrentTempPath(tccurrentprog) && modificare 28.06.2012
|
|
*!* modificare v 2.0.29
|
|
*!* lcrunvbs=[Run /N7 ]+Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2)))+[COMUNROA\updater.exe ] + ;
|
|
*!* STRTRAN(Addbs(Justpath(Sys(16,0))),[ ],[~])+tccurrentprog+[.EXE]
|
|
lcrunvbs=[Run /N7 ]+shortpath(Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2))))+[COMUNROA\updater.exe |] + ;
|
|
shortpath(Addbs(Justpath(Sys(16,0))))+tccurrentprog+[.EXE]
|
|
*!* modificare v 2.0.29 ^
|
|
&lcrunvbs
|
|
polog.Log("Am executat updater.exe",Program())
|
|
ExitProcess(0)
|
|
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Endcase
|
|
Return .T.
|
|
Endif
|
|
Endfunc
|
|
Enddefine
|
|
|
|
Function updatecheckfiles
|
|
*!* (07.09.09) tlSilent = .T. - daca nu apare mesajul de eroare in caz ca nu poate copia fisierul
|
|
Lparameters lcFisier,tlSilent
|
|
Local loUpdate,cLocalFile,cFilePath
|
|
***************************************
|
|
*
|
|
***************************************
|
|
iniHandler = Createobject("iniaccess")
|
|
If lcFisier="ROA_SECURITY.XML"
|
|
cLocalFile = gcDirMare + "Security\" + lcFisier
|
|
Else
|
|
cLocalFile = gcDirMare + lcFisier
|
|
Endif
|
|
|
|
If (iniHandler.getNetworkPath()#"" And iniHandler.getDefault()="NetworkPath") && Or iniHandler.getNetworkPath()#"" And iniHandler.getURL()="")
|
|
cFilePath = Addbs(ShortPath(iniHandler.getNetworkPath())) + lcFisier
|
|
Else
|
|
If(iniHandler.getURL()#"" And iniHandler.getDefault()="URL") && Or iniHandler.getURL()#"" And iniHandler.getNetworkPath()="")
|
|
cFilePath =iniHandler.getURL() +"/"+ lcFisier
|
|
Else
|
|
Return .F.
|
|
Endif
|
|
Endif
|
|
|
|
If(Bringfile(cFilePath,lcFisier,cLocalFile)=.F.) and !tlSilent
|
|
aMessagebox("A intervenit o eroare la copierea fisierului de actualizare! " + CHR(10) + ;
|
|
TRANSFORM(cFilePath) + CHR(10) + TRANSFORM(lcFisier) + CHR(10) + TRANSFORM(cLocalFile),16,"Actualizare")
|
|
Endif
|
|
Endfunc |