У нас есть программа, которая проверяет установщик на наличие файла конфигурации, и, если он существует, он не копирует этот файл (предполагается, что пользователь изменил свой файл конфигурации и хочет сохранить эти изменения). К сожалению, это приложение, предшествующее Vista, и оно сохраняет конфигурационный файл в Program Files. Проблема в том, что если вы вручную удаляете каталог, когда он переустанавливает, определенный API все еще думает, что там есть каталог. VB6, например, и его диалог поиска файлов видит папку, однако проводник, оболочка cmd и т. Д. Не могут видеть папку. Запись поверх файла по-прежнему оставляет старый файл (для некоторых API, но не для проводника), который нельзя удалить, кроме формы в диалоговом окне «Обзор файла».
Что происходит с этими папками Phantom и как мы удаляем файл, чтобы все API видели одно и то же? Может быть, это как-то связано с TxF или индексатором для поиска, но как установщик, который мы используем (InnoSetup), так и части приложения (части, написанные на VB6) видят старую версию файла. , а все остальное видит текущая версия.