vb6 - not - Vista Phantom Directory
visual basic create directory if doesn t exist (4)
¿Te refieres a la carpeta AppData (C: / Documents and Settings / UserName / AppData)? No estoy en mi máquina de vista, pero creo que esa es la ruta, y afaik no se borró después de una desinstalación.
Tenemos un programa que el instalador comprueba la existencia de un archivo de configuración, y si existe, no copia ese archivo (supone que el usuario ha modificado su archivo de configuración y desea mantener esas modificaciones). Desafortunadamente, esta es una aplicación anterior a Vista y mantiene el archivo de configuración en Archivos de programa. El problema es que si borras el directorio manualmente cuando reinstala cierta API todavía cree que hay un directorio allí. VB6, por ejemplo, y su diálogo de búsqueda de archivos ve la carpeta, sin embargo, explorer, cmd shell, etc. no puede ver la carpeta. Escribir sobre el archivo aún deja allí el archivo antiguo (para algunas API, pero no para el explorador) que no se puede eliminar, excepto el formulario dentro del cuadro de diálogo Buscar archivo.
¿Qué está pasando con estas carpetas Phantom, y cómo eliminamos el archivo para que todas las API vean lo mismo? Tal vez tiene algo que ver con TxF , o el indexador de búsqueda, pero tanto el instalador que usamos (InnoSetup) y partes de la aplicación (las partes escritas en VB6) están viendo la versión anterior del archivo, y todo lo demás ve el versión actual.
Como dijo Oskar Duveborn, es muy probable que lo que estás viendo sea el comportamiento de virtualización de Vista.
Cuando una máquina tiene activado el Control de cuentas de usuario (UAC), los usuarios estándar y los programas no elevados no pueden escribir en la carpeta Programas. En cambio, Windows redirige silenciosamente los archivos a la subcarpeta apropiada de %AppData%/Local/VirtualStore
(por ejemplo, C:/Users/MyUser/AppData/Local/VirtualStore
).
Si navega por la carpeta real en el Explorador, verá el botón de la barra de herramientas ''Archivos de compatibilidad'', que puede usar para explorar la tienda virtual.
Tenga en cuenta que este es solo el comportamiento de compatibilidad de Windows: su programa debe escribir en su propia subcarpeta de %AppData%
.
Para obtener más información, consulte este artículo de TechNet Magazine .
No sé si estoy en el camino correcto, pero ¿Vista virtualiza% programfiles% para las aplicaciones que intentan escribir en él o que están marcadas como "no va por el buen camino"? (y, por lo tanto, lo mueve a algún lugar dentro de la parte del usuario del sistema de archivos, sin decirle a la aplicación heredada, lo que lo hace un poco transparente) ...
Tienda virtual Los archivos redirigidos se almacenan en algún lugar en% appdata%; también puede buscar la ubicación marcando la opción "Archivos de compatibilidad" en el Explorador cuando se encuentre en la ubicación con alias. Debes dejar de escribir en% programfiles% para deshacerte de este comportamiento hasta donde yo sé.
El enlace de TechNet por Ant anterior (respuesta aceptada) ya no es válido. El nuevo enlace es:
http://support.microsoft.com/kb/927387 - Problemas comunes de virtualización de archivos y registros en Windows Vista