Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   actualizacion mediante ftp (https://www.clubdelphi.com/foros/showthread.php?t=38131)

emenchi34 04-12-2006 17:50:29

actualizacion mediante ftp
 
holasss!!!
bueno, tengo el siguiente problema: tengo un pequeño programa, el cual esta distribuido a diferentes cientes mios, la cuestion es que lo tengo q actualizar periodicamente, o sea una vez q el cliente mio abra mi programa se buscara en mi ftp si hay actualizacion, en caso correcto se descargara e instalara automaticamente.. ese no es el problema. el problema es como determinar, luego q se haya bajado la actualizacion, que al abrir alguna otra vez el programa no descargue nuevamente la actualizacion, pues ya esta actualizado!!!, al archivo de actualizacion no lo puedo borrar del ftp, ya que tmb se lo tienen q bajar otros clientes.

sugerencias??

seoane 04-12-2006 18:00:30

Pues una solución sencilla, y de la que ya hemos hablado aquí mas veces, es colocar en el ftp además del la actualización un pequeño archivo con información sobre la actualización. ¿Que colocar en ese archivo?, pues ahí cada uno coloca lo que cree mas conveniente, puede ser la versión del archivo, su md5, etc.

La forma de actuar entonces seria la siguiente, el programa encargado de la actualización bajaría el archivo con la información, que como mucho medirá unos cuantos bytes, y comprobara si la aplicación necesita actualizarse. Si es necesaria la actualización entonces la baja del ftp.

En este hilo deje un ejemplo que hace justo lo que tu quieres (funciona con http o ftp indistintamente), aunque puede que sea mas de lo que necesitas y tengas que ajustarlo a tus necesidades.

http://www.clubdelphi.com/foros/showthread.php?t=32550

Bicho 04-12-2006 18:02:50

Hombre, en principio la parte más fácil la tienes hecha, no? Lo de guardar la versión del programa que tienen es algo trivial creo yo, y hay muchas formas distintas.

Por ejemplo puedes guardar una tabla en la base de datos que indique únicamente la versión actual del programa. Es decir tu cuelgas en tu FTP la versión 2.0.1 (nombre fichero 201.exe por ejemplo), eso se guarda en la tabla y cuando arranque el programa y se conecte al FTP en busca de actualizaciones, debe buscar un fichero cuyo nombre sea mayor al 2.0.1 Esa es la idea.
Del mismo modo, puedes guardar ese registro en un fichero .INI, siguiendo la misma idea.

Espero te sirva.

Saludos

Bicho 04-12-2006 18:03:54

Después soy yo el agonioso!! :mad: Tio es que no dejas una para los demás eh?? :D

Saludos

seoane 04-12-2006 18:11:27

Cita:

Empezado por Bicho
Después soy yo el agonioso!! :mad: Tio es que no dejas una para los demás eh?? :D

:mad: Fuiste tu el que me llamo agonioso a mi primero :D

Ahora hablando del tema, tu solución de utilizar el propio nombre del archivo para identificar la versión tampoco esta mal. Aunque solo en casos como este, un ftp, donde se pueden listar los ficheros del servidor. En el http hay que ir a tiro fijo :D

luisgutierrezb 04-12-2006 19:00:34

me parece buena la idea de la base de datos, y la version puede ser una simple constante en el programa que se modifica manualmente por ejemplo, asi el nombre del archivo puede ser el que sea


La franja horaria es GMT +2. Ahora son las 20:38:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi