PDA

Ver la Versión Completa : Programa de Actualizacion


pruz
27-06-2023, 23:16:35
Hola amigos:

Quisiera que alguien me orientara del como hacer un programa, que realice actualizacion de otros programa.
Me explico, tengo un programa "X" Version 2.0 en la nube. Y en mi computador el mismo programa "X" Versios 1.0.
Quiero hacer un programa que baje el que esta en la nube ( "X" Version 2.0) y reemplace el que esta mi computador ("X" Version 1.0).

Esto todas la veces que sea necesario.

Uso Delphi 6 y Delphi Tokio 10.2

Saludos,
Gracias

duilioisola
28-06-2023, 08:27:12
Especifica el problema o duda que tienes...

Si se trata del concepto general de la aplicación:
Crea una aplicación actualiza_version.exe que

mire si hay una nueva versión
descargue la versión
finalice la ejecución del la aplicación
instale la nueva versión
ejecute la nueva versión


Esta aplicación podría lanzarse desde la aplicación cada vez que empiece.


ShellExecute(Application.Handle, '', PChar('actualiza_version.exe'), nil, nil, SW_SHOW);

Neftali [Germán.Estévez]
28-06-2023, 11:24:49
Completando lo que ha dicho [duilioisola], que ha explicado los pasos perfectamente.

mire si hay una nueva versión
descargue la versión
finalice la ejecución del la aplicación
instale la nueva versión
ejecute la nueva versión



Dependiendo de dónde estén las aplicaciones tendrás que usar IdFTP, HTTPRequest,... (FTP, WWW,...) y consultar por ejemplo un fichero TXT con información de la nueva versión.
Igual que antes pero con el instalador. Si está en un FTP (TIdFTP), si está en la web (THTTPrequest o TIdHTTP)
Application.Terminate de la actual
ShellExecute del instalador de la nueva versión
(Cuando el anterior acabe) ShellExecute de la aplicación.
Das pocos detalles.
Si buscas en los foros ya hemos hablado antes de actualizar aplicaciones. en la mayoría de los casos actualizar la que está en ejecución, pero la idea es la misma para actualizar otra/s.

Una simple búsqueda te devuelve unos cuantos hilos al respecto:
https://www.clubdelphi.com/foros/showthread.php?t=3052
https://www.clubdelphi.com/foros/showthread.php?t=40824
https://www.clubdelphi.com/foros/showthread.php?t=36968
https://www.clubdelphi.com/foros/showthread.php?t=92677