【发布时间】:2011-10-07 15:01:54
【问题描述】:
我的申请有点问题。应用程序在首次运行时将 SQLite 数据库存储在 C:\ProgramData\ProgramName\ 文件夹中。我想测试如果我删除数据库,应用程序可以创建一个新数据库。启动时,我使用 SysUtils 中的 FileExists(filename) 函数检查文件是否存在。但它总是返回 True,即使我删除了 ProgramName 文件夹。
如果我使用另一个文件夹(例如 %AppData%),那么一切正常。
我在这里缺少什么?为什么 FileExists 函数总是返回 True?
【问题讨论】:
-
你的程序有写权限吗?否则你可能会碰到重定向垫片。
-
@CodeInChaos 什么是重定向 shim?
-
好的,在 %AppData%\Local\VirtualStore\ProgramData\ProgramName 文件夹中也找到了我的虚拟化数据库文件
-
@Downvoter
/是 Windows 上的有效路径分隔符 -
@evilone 通过在应用清单中包含
requestedExecutionLevel条目来关闭虚拟化。
标签: delphi windows-7 filesystems delphi-xe