![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Register | FAQ | Members List | Calendar | Guía de estilo | Search | Today's Posts | Mark Forums Read |
![]() |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
¿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.
|
|
#2
|
||||
|
||||
|
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... |
|
#3
|
|||
|
|||
|
Quote:
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. |
|
#4
|
|||
|
|||
|
Quote:
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
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 |
|