Vuelvo mi mirada a este foro en busca de ayuda, aunque lo sigo leyendo y aprendiendo casi a diario.
Os cuento mi duda, y a ver si me podeis ayudar...
Llevo cinco años haciendo programas en AutoIt!, que automatizan y facilitan procesos para mi trabajo, y para el de mis compañeros. Los hay con varias funciones y finalidades, desde leer unos datos de una base de access para consultar telefonos y otros datos, hasta hacer consultas a varios servidores de SQL y varias bases de datos en cada uno, exportando los resultados a Excel si se requiere.
Bueno pues la duda que tengo es a la hora de compilarlos y aplicar novedades.
Al principio creé un Script que se lanzaba despues de compilar las aplicaciones, y comprobaba si habia cambios en los .exe fuente. En caso afirmativo los copa a un recurso de red que es donde se ejecutan por todo el grupo.
Como el mantenimiento de esta 'copiador' se volvio un poco locura, configuré los fuente para que automaticamente, desde el AutoIt3Wrapper se hiciese la copia del archivo tras la compliacion.
Por ejemplo:
Código: Seleccionar todo
#AutoIt3Wrapper_Run_After=Copy "%out%" "X:\Utilidades\Ejecutables\WOL.exe"
Incluso uno de los programas lo configuré para que comprobase si hay una version mas reciente de si mismo, y en ese caso guarde el estado (textos, opciones, etc.) en un .ini, lance otro .exe que espera a que el primero se cierre y entonces copia el nuevo machacando el viejo, y vuelve a abrir la nueva version cargando las opciones desde el INI
Y tras la presentacion del escenario, mis dudas...
En ocasiones, cuando el archivo destino (el .exe que se usa por todo el grupo) esta en uso por alguno de mis compañeros, la copia no se realiza, y encima el archivo queda como 'corrupto' y nadie puede acceder a el (solo el que lo tenia abierto con anterioridad).
¿Hay alguna forma de comprobar si un archivo esta en uso?
¿Se os ocurre alguna forma de poder actualizar los ejecutables finales, sin depender de si se estan usando? No todos los usuarios estamos fisicamente en el mismo lugar, y a veces es complicado averiguar quien esta utilizando la aplicacion...
Gracias por adenlantado, y perdon por la chapa!