Ver la Versión Completa : Actualizador de mi aplicacion via ftp
ramflores
25-04-2011, 16:19:00
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 (http://www.terawiki.clubdelphi.com/).
Allí mismo hay alguno más.
En la sección de componentes (http://www.terawiki.clubdelphi.com/Delphi/Componentes-Funciones/__MaxComponents__/), 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.
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.
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/archivos/Delphi/Componentes-Funciones/FUNCION_PARA_ACTUALIZAR_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
;)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.