我们有一个程序,安装程序会检查配置文件是否存在,如果存在,它不会复制该文件(它假设用户已经修改了他们的配置文件并希望保留这些修改)。不幸的是,这是一个 pre-Vista 应用程序,它将配置文件保存在 Program Files 中。问题是,如果您在重新安装某些 API 时手动清除该目录,仍然认为那里有一个目录。例如 VB6,它的文件浏览对话框看到文件夹,但是资源管理器、cmd shell 等看不到文件夹。覆盖文件仍然会留下旧文件(对某些 API,但不是对资源管理器),除了“浏览文件”对话框中的表单外,无法删除旧文件。
这些 Phantom 文件夹是怎么回事,我们如何删除文件以便所有 API 看到相同的内容?也许它与TxF或用于搜索的索引器有关,但我们使用的安装程序 (InnoSetup) 和应用程序的一部分(用 VB6 编写的部分)都看到了旧版本的文件,而其他一切都看到了当前版本。