FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Actualizaci贸n automatica de programas
Posts: 117
Joined: Sun Oct 08, 2017 12:51 PM
Actualizaci贸n automatica de programas
Posted: Sun Jun 24, 2018 09:44 AM

Hola Gente !

Tengo un cliente que tiene 5 equipos conectados en red con mi programa en cada uno de ellos, los cuales acceden a las bases de datos
de un servidor.
La red es una red de trabajo de Windows.
Ya que me lleva tiempo actualizar el programa a cada uno de los 5 equipos, quisiera ver si hay alguna manera desde FWH , de hacer una
actualizaci贸n autom谩tica del programa para que cada terminal la pueda descargar sin mi intervenci贸n. (como se hace con las actualizaciones automaticas de Windows u otros).
La idea ser铆a que yo ponga mi programa en mi hosting, y que cuando ellos habran el programa y vean que el que est谩 en el hosting
tiene una fecha diferente del programa que tienen, les ofrezca actualizarlo.

Alguien tiene idea de si 茅sto se puede hacer ?

Muchas gracias !

Pedro L. Lavallen

San Luis (Capital), Argentina
Posts: 476
Joined: Sat Feb 03, 2007 06:36 AM
Re: Actualizaci贸n automatica de programas
Posted: Sun Jun 24, 2018 11:47 AM
Hola Pedro, puedes ver esta opci贸n de Biel
http://bielsys.blogspot.com/2009/04/actualizacion-automatica-de.html

Saludos.
Posts: 80
Joined: Tue Mar 25, 2008 09:03 PM
Re: Actualizaci贸n automatica de programas
Posted: Sun Jun 24, 2018 07:34 PM
Io uso:
Code (fw): Select all Collapse
vers := 0
versione()
if vers = 1
聽 聽return(nil)
endif


Code (fw): Select all Collapse
function versione()
cFile = cperete+"\ar20.exe" 聽 聽 聽 聽// file eseguibile server
cfile0 = "ar20.exe" 聽 聽// client
cfile1 = "ar201.exe" 聽 // copia client

IF FILE(CFILE)
聽 聽do case
聽 聽 聽 case fDate(cfile) > fDate(cfile0)
聽 聽 聽 聽 DELETEFILE(CFILE1)
聽 聽 聽 聽 MOVEFILE(CFILE0,CFILE1)
聽 聽 聽 聽 COPYFILE(CFILE,CFILE0)
聽 聽 聽 聽 msgInfo(" "+CRLF+"La versione 猫 stata migliorata"+CRLF+" ... aggiornamento in corso" +CRLF+CRLF+"Riavviare il programma"+CRLF+" ","Avviso") 聽
聽 聽 聽 聽 vers = 1
聽 聽 case fDate(cfile) = fDate(cfile0)
聽 聽聽聽 聽ora := fTime(cfile)
聽 聽聽聽 聽nora := val(substr(ora,7,2))+val(substr(ora,4,2))*60+val(substr(ora,1,2))*3600
聽 聽聽聽 聽ora0 := fTime(cfile0)
聽 聽聽聽 聽nora0 := val(substr(ora0,7,2))+val(substr(ora0,4,2))*60+val(substr(ora0,1,2))*3600
聽 聽 聽聽 if nora > nora0
聽聽 聽 聽 聽 聽 mesver = 1
聽 聽 聽 聽聽 聽 DELETEFILE(CFILE1)
聽 聽 聽 聽聽 聽 MOVEFILE(CFILE0,CFILE1)
聽 聽 聽 聽聽 聽 COPYFILE(CFILE,CFILE0)
聽 聽 聽 聽 聽 msgInfo(" "+CRLF+"La versione 猫 stata migliorata"+CRLF+" ... aggiornamento in corso" +CRLF+CRLF+"Riavviare il programma"+CRLF+" ","Avviso") 
聽 聽 聽 聽 聽 vers = 1 聽 
聽 聽聽 聽endif
聽 聽 case fDate(cfile) < fDate(cfile0)
聽 聽 聽 if xmsgyesno("E' presente una versione precedente",," ... ripristino ???",,,"Nota",2)
聽 聽 聽 聽 聽DELETEFILE(CFILE1)
聽 聽 聽 聽 聽MOVEFILE(CFILE0,CFILE1)
聽 聽 聽 聽 聽COPYFILE(CFILE,CFILE0)
聽 聽 聽 聽 vers = 1
聽 聽 聽 endif
聽 聽endcase
ENDIF 聽

return (vers)


saluti
Stefano
FWH 14.11 + xHarbour + bcc582
Posts: 1487
Joined: Tue Jun 14, 2016 07:51 AM
Re: Actualizaci贸n automatica de programas
Posted: Sun Jun 24, 2018 08:47 PM
I do this.

I have a online user database where every User/station has his current version nummer

When I update, I change the master version number in that database, and when a user log's in, the program will see that there is a new version.

The program will then prompt to update, change the version nummer online to the newest and he can start the new program.

Code (fw): Select all Collapse
聽 聽 聽 if oRs:versie <> system_version 聽// check if his version nummer = new version
聽 聽 聽 聽 if URLDOWNLOADTOFILE( 0, "http:\\yourprogramlocation/fivewin/program.exe", "test.exe" ) = 0
聽 聽 聽 聽 聽 聽oRs:versie = system_version // update his version nummer
聽 聽 聽 聽 聽 聽oRs:Save()
// 聽 聽 聽 聽 聽 oRs:Refresh()
聽 聽 聽 聽 聽 聽msginfo("Update gevonden")
聽 聽 聽 聽 endif
聽 聽 聽 endif

// also needed

DLL FUNCTION URLDOWNLOADTOFILE( pCaller AS LONG, cUrl AS LPSTR, cFileName AS LPSTR, nReserved AS DWORD, nFnCB AS LONG ) AS LONG;
聽 聽 PASCAL FROM "URLDownloadToFileA" LIB "urlmon.dll"
Marc Venken

Using: FWH 23.08 with Harbour
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Actualizaci贸n automatica de programas
Posted: Sun Jun 24, 2018 11:16 PM

Pedro:

Me parece que la forma de actualizar que amablemente Biel aport贸 en su Blog
es funcional ni duda cabe, pero que suceder谩 cuando haya necesidad de cambiar
la estructura de algunos archivos como parte de la actualizaci贸n?.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: Actualizaci贸n automatica de programas
Posted: Sun Jun 24, 2018 11:25 PM
Mi Aporte

Code (fw): Select all Collapse
聽LOCAL nVerAct := 3575 // ACTUAL = se incrementa manualmente al compilar ... siempre que existan cambios de estructura..
聽LOCAL SW := .T.

聽 聽IF SELECT("EMP") == 0
聽 聽 聽 IF !lUsaTab(cPatSis+"\","EMPRESA.DAT","EMP",{},.T. )
聽 聽 聽 聽 聽RETURN
聽 聽 聽 ENDIF
聽 聽ENDIF
聽 聽EMP->( DBGOTOP() )
聽 聽nVerEmp := EMP->nNroVerEmp
聽 聽

聽 聽IF nVerEmp < 聽3575
聽 聽 聽 CLOSE ALL
聽 聽 聽 IF !verificaEstructuraTablas(cPatSis,"ESTAELEC.DAT","cValCufEle",NIL,[char(50) NOT NULL DEFAULT ''''] )
聽 聽 聽 聽 聽SW := .F.
聽 聽 聽 ENDIF
聽 聽ENDIF

聽 IF SW

聽 聽 聽 EMP->( DBGOTOP() )

聽 聽 聽 IF lRlock("EMP","EMPRESAS",.F.)
聽 聽 聽 聽 聽REPLACE EMP->nNroVerEmp WITH nVerAct
聽 聽 聽 ENDIF

聽 聽 聽 EMP->( DBCOMMIT() )
聽 聽 聽 EMP->( DBUNLOCK() )

聽 ENDIF
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Re: Actualizaci贸n automatica de programas
Posted: Mon Jun 25, 2018 03:46 PM

Pedro,

si tienes una red local, podr铆a pensar que una de las m谩quinas contiene tu base de datos centralizada, lo que har铆a ser铆a tener una m谩quina como server y desde all铆 mapear una carpeta compartida a una unidad de red de cada uno de los clientes y jalar la aplicaci贸n, de esa manera, solo actualizas la m谩quina que hace de servidor. Aqu铆 en mi trabajo utilizamos Linux con Samba y alli se centraliza tanto la aplicaci贸n, reportes y base de datos, y esta manera ha sido comoda y efectiva.

Saludos

Marcelo V铆a

Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Actualizaci贸n automatica de programas
Posted: Mon Jun 25, 2018 04:20 PM
Armando wrote:Pedro:

...pero que suceder谩 cuando haya necesidad de cambiar
la estructura de algunos archivos como parte de la actualizaci贸n?.

Saludos

+1
Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Actualizaci贸n automatica de programas
Posted: Mon Jun 25, 2018 04:23 PM
Marcelo Via Giglio wrote:Pedro,

si tienes una red local, podr铆a pensar que una de las m谩quinas contiene tu base de datos centralizada, lo que har铆a ser铆a tener una m谩quina como server y desde all铆 mapear una carpeta compartida a una unidad de red de cada uno de los clientes y jalar la aplicaci贸n, de esa manera, solo actualizas la m谩quina que hace de servidor. Aqu铆 en mi trabajo utilizamos Linux con Samba y alli se centraliza tanto la aplicaci贸n, reportes y base de datos, y esta manera ha sido comoda y efectiva.

Saludos

Marcelo V铆a


Asi lo hago, desde siempre. Pero cuando se actualiz贸 a Windows 10 (misma version en lodas las maquinas)... 隆Que lentitud!
Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Re: Actualizaci贸n automatica de programas
Posted: Tue Jun 26, 2018 05:29 AM
Hola,

Armando wrote:Pedro:

Me parece que la forma de actualizar que amablemente Biel aport贸 en su Blog
es funcional ni duda cabe, pero que suceder谩 cuando haya necesidad de cambiar
la estructura de algunos archivos como parte de la actualizaci贸n?.

Saludos


Se ha de separar la parte de actualizaci贸n del software y la de proceso de migraci贸n de tablas con nuevas estructuras de una version a otra...
Salutacions, saludos, regards

"...programar es f谩cil, hacer programas es dif铆cil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix

Continue the discussion