在 Windows 7 中从 C:/ProgramData 删除文件并没有真正删除该文件?
我的应用程序有一点问题。应用程序在首次运行时将 SQLite 数据库存储在 C:\ProgramData\ProgramName\
文件夹中。我想测试如果删除数据库,应用程序是否可以创建新数据库。启动时,我使用 SysUtils 中的 FileExists(filename)
函数检查文件是否存在。但它始终返回 True,即使我删除了 ProgramName 文件夹。
如果我使用另一个文件夹(例如%AppData%),那么一切都可以。
我在这里缺少什么?为什么 FileExists 函数总是返回 True?
I have a little problem with my application. Application stores a SQLite database in C:\ProgramData\ProgramName\
folder on first run. I wanted to test if I delete the database, can application create a new database. On startup, I check if file exists using FileExists(filename)
function from SysUtils. But it returns always True, even if I deleted the ProgramName folder.
If I use another folder (for example %AppData%), then it's all OK.
What I'm missing here? Why FileExists function returns always True?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
标准用户(UAC 处于活动状态时包括管理员)没有该位置的删除权限。
如果您需要标准用户能够删除该文件,您需要找到一个不同的位置来存储该文件。
Standard users (and that includes administrators when UAC is active) do not have delete rights to that location.
You need to find a different location to store the file if you need standard users to be able to delete it.