Ver Mensaje Individual
  #3  
Antiguo 16-03-2011
farute farute is offline
Miembro
 
Registrado: feb 2010
Posts: 84
Reputación: 15
farute Va por buen camino
Cita:
Empezado por gatosoft Ver Mensaje
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

Última edición por farute fecha: 16-03-2011 a las 09:18:04.
Responder Con Cita