c# - 如何更改文件权限以阻止 Vista 写入 VirtualStore 目录中的文件?

标签 c# windows-vista file-permissions virtualstore

当我的程序第一次安装时,它会在用户的 AppData 目录中放置一个文件,然后程序会定期写入该文件。问题是在 Vista 中,写入的不是用户 AppData 目录中的文件,而是“VirtualStore/ProgramData”目录中该文件的副本。用户AppData目录中的原始文件永远不会改变,程序运行时似乎只能访问VirtualStore目录中的文件。

有没有办法从 C# 应用程序内部更改该文件的权限,以便我的程序将写入 AppData 目录中的原始文件,而不是 VirtualStore 目录中的文件?

谢谢,

杰夫

最佳答案

UAC 文档 “Designing UAC Applications for Windows Vista”应该可以帮助您解决这个问题。

我觉得您需要添加应用程序 list 。

当您的应用程序包含一个指定了“requestedExecutionLevel”值的应用程序 list 时,Vista 的注册表和文件系统虚拟化将被关闭。

看看Create and Embed an Application Manifest (UAC)具体情况。

如果您以前没有在非管理条件下测试过您的应用程序,您可能会发现在关闭 Vista 的虚拟化后需要进行一些代码更改。

关于c# - 如何更改文件权限以阻止 Vista 写入 VirtualStore 目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493351/

相关文章:

android - 如何让用户访问我的应用程序的内部存储目录?

linux - 如何将文件权限授予组中的特定用户?

c# - 关于外部库和命名空间的问题

c# 遍历 ListView 项并通过单击按钮一次在文本框中显示一行

c# - 我的 WPF 自定义控件 Datacontext 正在取代父控件

c# - 为什么在多行中连接字符串比在一个语句中添加字符串更快?

c - 使用 win32 api 检索操纵杆名称

c# - 在Windows Vista/XP中重定向声音

ruby-on-rails - 您如何将 SSL 用于 InstantRails 的安全本地开发?

bash - 如何检查给定目录是否可访问?