Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Actualizador de mi aplicacion via ftp (https://www.clubdelphi.com/foros/showthread.php?t=73464)

ramflores 25-04-2011 16:19:00

Actualizador de mi aplicacion via ftp
 
Buen día Foro.

Saben de un software o componente el cual pueda usar para hacer actualizaciones de una aplicación vía ftp o http, tipo el Clickone de VS2005?

Gracias de antemano.

Neftali [Germán.Estévez] 26-04-2011 13:02:17

Si haces una búsqueda en los foros, encontrarás bastantes hilos al respecto. Es un tema que hemos hablado otras veces y sobre el que han salido soluciones.
En los mismos hilos encontrarás código útil.
Recuerdo una programa de Seoane que creo que también puedes encontrar en el FTP del Club.
Allí mismo hay alguno más.
En la sección de componentes, están los de Max, que también incluyen uno para actualización vía web.

ramflores 26-04-2011 14:57:32

Muchas gracias por tu respuesta, buscare la información

Gracias de antemno

fide_uci 17-05-2011 23:08:27

Yo he hecho cosas similares a eso usando idHTTPClient con el metodo Get. Le paso la url del paquete o los paquetes y luego hago lo que quiera con ellos.

ramflores 17-05-2011 23:12:03

Gracias fide_uci por contestar.

Tienes algún ejemplo sencillo en el cual me pueda basar?, como reemplazarías el ejecutable actual por la nueva versión si esta en ejecución?

Gracias de antemano ;)

fide_uci 17-05-2011 23:19:35

Si claro. Aca te dejo algo del codigo que tienes que utilizar.

Esto esta probado con Delphi 7 e Indy 10.
Código Delphi [-]
var
  vUpdatePacket: TMemoryStream;
begin

  //Creando el stream para guardar el contenido
  vUpdatePacket := TMemoryStream.Create;

  try
    //Obteniendo el fichero desde la pagina donde se encuentra
    IdHTTP1.Get('http://mydominio.com/updates/miApplication.exe', vUpdatePacket);

    //Llevando el puntero de escritura/lectura al inicio del stream
    vUpdatePacket.Seek(0, soFromBeginning);

    vUpdatePacket.SaveToFile('update_aplicacion.exe');
  finally
    vUpdatePacket.Free;
  end;

Ahora una cosa. Generalmente cuando los programas actualizan ellos llaman a un programa actualizador que esta en la misma carpeta que es quien cierra al que esta habierto, baja la actualizacion y la reemplaza por el programa viejo y acto seguido ejecuta nuevamente el programa. Esta seria una buena opcion.

ramflores 18-05-2011 00:32:49

Ok, muchas gracias por el codigo, voy a echarle un vistazo y a probarlo, en cuanto lo tenga te aviso.

Gracias por tu apoyo;)

ramflores 18-05-2011 00:33:50

Perdon, esto se tiene que hacer por cada archivo que se vaya a bajar, cierto?

fide_uci 18-05-2011 01:04:43

Aja. Mira generalmente se pone un archivo con la lista de archivitos a bajar.

Código:

Archivo1.exe
Archivo2.dll
Archivo3.txt

Entonces el programa que hace la actualizacion lo primero que baja es esa lista y de ahi baja todos los archivitos que esten en ellas entiendes?

fide_uci 18-05-2011 01:05:25

Otra posibilidad es que metas todo en un .zip o .rar y luego con algun componente descomprimas y ya tengas todo de un solo golpe.

ramflores 18-05-2011 14:59:45

Perfecto, ya tengo una mejor idea.

muchas gracias, deja empezar hacer las pruebas, y te comento como me va

Gracias de antemano
;)

rretamar 18-05-2011 15:15:32

El paquete de componentes libres JEDI tiene unos que sirven para implementar un sistema de actualizaciones automáticas, entre muchas (muchísimas) otras cosas casi imprescindibles para todo desarrollador de Delphi.

ramflores 18-05-2011 15:18:30

Muchas gracias por tu respuesta.

Donde puedo bajar esos componentes?
Alguna guía de como se usa el componente que mencionas?

Gracias de antemano
;)

elguille 18-05-2011 15:41:24

Tambien esta esto, yo la empleo y va perfectamente....

http://www.terawiki.clubdelphi.com/a...R_VIA_HTTP.zip

ramflores 18-05-2011 15:44:08

Gracias elguille.

Algún ejemplo de donde me pueda guiar de como usarlo?

Gracias de antemano
;)


La franja horaria es GMT +2. Ahora son las 16:16:18.

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