PDA

Ver la Versión Completa : como se suicida un exe


did.masnou
29-08-2003, 09:45:54
hola
estoy haciendo una aplicacion que automaticamente se conecta via ftp y detecta si hay una version mas nueva.
Todo me funciona, excepto que no puedo machacar el exe por que este esta en uso.
Ahora se me descarga el nuevo exe pero con otro nombre, y tengo que ejecutar otro programa para que me lo machaque.
Como puedo hacer que al bajar el exe nuevo machaque el exe en ejecucion?

dicho de otra manera, como puedo hacer que mi programa se suicide para reencarnarse en uno mejor :)
(que poetico que ha quedado) jajaja

Gracias!

javiermorales
29-08-2003, 13:25:19
Buenos Días, la forma de matar un programa depende del sistema operativo donde este ejecutándose el mismo. también es necesario tener permisos para poder realizar dicha acción. ¿De que sistema se trata?.

Un saludo.

did.masnou
29-08-2003, 14:00:48
hola
El sistema operativo sera windows, todas las versiones, ya que cada cliente tendra un windows diferente. Eso si, tendran todos los permisos en esa carpeta.

brandolin
29-08-2003, 14:18:48
Yo tambien esto haciendo algo parecido en estos momento. El tema es que lo mio es mas general ya que se puede ejecutar un pequeño pedazo de codigo (bajado por FTP) que incluyen varios comandos programables.
El tema lo resolvi asi: (en diseño, ya que no esta implementado esa parte todavia)
1) Se baja el ejecutable nuevo (en este caso) en una carpeta TMP
2) Se baja un .bat donde las lineas que tiene son las de copy de un lugar a otro.
3) Se instala el temporal en el inicio o en el regestry - run
4) Se pide que reinicie la maquina. Cuando se reinicia el BAT hace el reemplazo correspondiente.

Hay varios temas pendientes pero son detalles que se pueden eliminar o modificar. Espero que te sirva.

Gracias:

PD: Ya que andamos en algo parecido me interesaria no dejar este tema colgado y trabajar juntos....

delphi.com.ar
29-08-2003, 15:49:33
Yo he hecho una aplicación de este tipo que utiliza un módulo intermedio (EXE), que es el que implementa la lógica de la actualización, digamos que el "Servidor" recibe su actualización, la pone en el disco y le dice a este módulo que se encargue de actualizarla, este módulo se encarga de cerrar el servidor, copia la actualización sobre el servidor y la ejecuta para que el servicio quede activo...
Obviamente no es la única solución, pero no es una mala idea y es un poco mas seguro que crear archivos bat, pero requiere mayor infraestructura!

Saludos!