Python - Problemas para crear un autoupdater AYUDA!

   
Vista:

Problemas para crear un autoupdater AYUDA!

Publicado por Cristian cristiangiagante@hotmail.com (3 intervenciones) el 08/03/2014 17:22:01
Hola la verdad pido ayuda porque no logro conseguir lo que quiero, se trata de un autoupdater que este incluido en mi aplicacion hecha en python. Pues resulta que la misma la compilo con pyinstaller para tener un ejecutable en windows.

El problema es el siguiente, mi aplicacion cuando inicia llama a una funcion actualizar que hace revisaciones de versiones contra un servidor web y si la version no es la ultima descarga el nuevo archivo con la version actualizada, este archivo lo descargo con el nombre de la nueva version incluida es decir, mi archivo original seria:
aplicacionv1.2 y la que se descarga actualizada es aplicacionv1.3 de esta forma luego hago que desde mi aplicacionv1.2 se lance un nuevo proceso el de la aplicacionv1.3 con un argumento para q esta nueva version detecte ese argumento y llame a una funcion particular que elimina a la anterior, es decir:
aplicacionv1.2 lanza desde su script al terminar de descargar la actualizacion a aplicacionv1.3 con un argumento de forma que:
aplicacionv1.3 --limpiar hace que se lance la funcion limpiar() la cual cierra el proceso de aplicacionv1.2 e intenta borrar el archivo.

El problema serio es que cuando intento borrarlo dice que el archivo esta siendo utilizado por otro proceso, investigando note que el proceso q sigue colgado de mi aplicacionv1.2 es la misma consola de windows donde lance la aplicacionv1.3 desde aplicacionv1.2. En resumen no hay caso, cualquier cosa que ejecute desde la cmd o que llame a otra cmd desde la cmd donde se ejecuto por primera vez aplicacionv1.2 no te deja borrar el archivo por mas que cierres el proceso de ese archivo. La consola se queda colgada del archivo por mas que no lo use y no te lo deja borrar.

Alguna idea para solucionar esto? la condicion es que no deben quedar archivos extras en la carpeta de la aplicacion todo debe correr y hacerse con 1 solo ejecutable q en forma temporaria descarga o crea nuevos archivos.

si alguno tiene una idea de como resolver este problema aviseme por favor, desde ya gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder