Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Internet
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Colaboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 16/03/2011
Master23 Master23 is offline
Miembro
 
Join Date: Feb 2010
Posts: 113
Poder: 17
Master23 Va por buen camino
¿Algoritmo para hacer actualizaciones automáticas por internet ?

Estoy realizando un software y quiero implementar actualizaciones automáticas,como muchos software que hay en el mercado por lo tanto tengo algunas cosas ya realizado , como la descarga de un nuevo exe , verificar si hay updates y luego realizar-las ,pero el problema viene, cómo cambio el viejo exe por el nuevo , espero puedan ayudarme. Si conocen alguna forma más eficiente con gusto les leeré muchas gracias de antemano, espero puedan ayudarme.
Reply With Quote
  #2  
Old 16/03/2011
gatosoft's Avatar
[gatosoft] gatosoft is offline
Miembro Premium
 
Join Date: May 2003
Location: Bogotá, Colombia
Posts: 835
Poder: 24
gatosoft Va camino a la fama
el programa que verifica si hay actaulizaciones debe ser independiente al Exe o a cualquier otro programa que quieras cambiar...

cuando abras tu programa principal, llamas a la vez a tu programa "CheckForUpdate", el cual se encargará de cerrar el principal, reemplazar y volverlo a abrir, (si aplica)... y cerrarse cuado todo esto termine...

ya si quieres cambiar el propio..."CheckForUpdate", podrias inventarte swaping, entre la nueva y la vieja version... algo como:

Tu "CheckForUpdateActual" baja el "CheckForUpdateNew" en una carpeta temporal y lo ejecuta.

El "CheckForUpdateNew" cierra el "CheckForUpdateActual" y se autocopia en la ruta definitiva, para finalmente cerrarse. y si quieres abiri el nuevo programa... no se... son solo ideas...
Reply With Quote
  #3  
Old 16/03/2011
farute farute is offline
Miembro
 
Join Date: Feb 2010
Posts: 84
Poder: 17
farute Va por buen camino
Quote:
Originally Posted by gatosoft View Post
el programa que verifica si hay actaulizaciones debe ser independiente al Exe o a cualquier otro programa que quieras cambiar...
no tiene por qué,
No se si es muy correcto hacerlo pero lo que se puede hacer es:
- renombrar el ejecutable que esta corriendo o el que quieras actualizar (no hay problema en hacerlo)
RenameFile(ExtractFileName(application.ExeName),'viejo.exe');
- descargar el nuevo exe en el mismo directorio con el mismo nombre que tiene el ejecutable que está corriendo
- cerrar la aplicacion y volver a abrirla con el nuevo ejecutable
Application.terminate;
ShellExecute(Application.Handle,'Open',pChar(Application.ExeName),PChar('No'),nil,SW_NORMAL);

y en el oncreate eliminar si existe el fichero que habiamos renombrado para que no moleste para una próxima actualización,
if FileExists('viejo.exe') then DeleteFile('viejo.exe');
O quizás prefieras guardarlo en algún lado por si falla la actualización, eso ya lo que tu veas

Last edited by farute : 16/03/2011 at 09:18.
Reply With Quote
  #4  
Old 16/03/2011
Master23 Master23 is offline
Miembro
 
Join Date: Feb 2010
Posts: 113
Poder: 17
Master23 Va por buen camino
Quote:
Originally Posted by farute View Post
no tiene por qué,
No se si es muy correcto hacerlo pero lo que se puede hacer es:
- renombrar el ejecutable que esta corriendo o el que quieras actualizar (no hay problema en hacerlo)
RenameFile(ExtractFileName(application.ExeName),'viejo.exe');
- descargar el nuevo exe en el mismo directorio con el mismo nombre que tiene el ejecutable que está corriendo
- cerrar la aplicacion y volver a abrirla con el nuevo ejecutable
Application.terminate;
ShellExecute(Application.Handle,'Open',pChar(Application.ExeName),PChar('No'),nil,SW_NORMAL);

y en el oncreate eliminar si existe el fichero que habiamos renombrado para que no moleste para una próxima actualización,
if FileExists('viejo.exe') then DeleteFile('viejo.exe');
O quizás prefieras guardarlo en algún lado por si falla la actualización, eso ya lo que tu veas
Muchas gracias amigo , tu respuesta fue la más sencilla y lógica de aplicar, gracias de nuevo.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ayuda para hacer un algoritmo de busqueda y comparacion JoAnCa Varios 7 23/12/2008 22:55
Sistema de actualizaciones automaticas bustio Varios 1 30/06/2008 17:24
Actualizaciones automaticas 2007 -brackout- Varios 8 02/03/2008 19:15
Actualizaciones automáticas david.rguez Internet 1 27/10/2007 00:27
Como hacer un Hook Para detectar internet carlosmoralesm Internet 1 03/04/2004 10:40


All times are GMT +2. The time now is 21:10.


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