Ver Mensaje Individual
  #1  
Antiguo 30-06-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Windows Vista, archivos fantasma

Hola,

No termino (ni empiezo) de entender cómo funciona el sistema de archivos y permisos en Windows Vista. Les planteo la situación a ver si ustedes entienden.

Tengo una aplicación, llamada ExCol, que tiene su propio instalador hecho con InnoSetup. Dicha instalación crea un directorio excol en Archivos de programa (o, mejor dicho, Program Files) quedando así la estructura de archivos

Código:
excol
  |
  +-- data
  |     |
  |     +-- aciertos.cds
  |     +-- claves.cds
  |     +-- criterios.cds
  |     +-- respuestas.cds
  |
  +-- excol.exe
Los archivos cds son tablas para componentes ClientDataSet.

Este programa lo he instalado en mi pc en diversas ocasiones y hoy tocaba actualizar los datos.

Pues bien, al momento de ejecutar el programa me percato que los datos no corresponden a los actuales. Para probar, quito los archivos aciertos.cds y respuestas.cds (que, en realidad, son los que se actualizan) y al ejecutar el programa, tan campante, ni se queja y sigue trabajando como si nada con quién sabe qué archivos. Incluso pongo en el código un

Código Delphi [-]
ShowMessage(cdsAciertos.FileName);

que muestra que el FileName apunta a excol\data\aciertos.cds, ¡que es uno de los que acabo de borrar!

Ahora bien, si ejecuto el programa como Administrador, entonces sí que se queja de que dichos archivos no existen. Más aún, si vuelvo a colocar los archivos y ejecuto como administrador, ¡aparecen los nuevos datos!

O sea, que al parecer, Windows Vista maneja dos (o más) copias de un mismo archivo, según cómo se ejecute la aplicación.

He de decir que esto me parece estúpido, pero no es la primera vez que lo noto. Ya con el BDE he notado que según como acceda, usa distintas versiones del archivo de configuración.

¿Alguien sabe qué sucede y cómo lidiar con ello?

// Gracias
Responder Con Cita