当我的程序第一次安装时,它会在用户的AppData目录中放置一个文件,然后程序会定期写入该文件。问题出在Vista中,写入的不是用户AppData目录中的文件,而是“VirtualStore/ProgramData”目录中该文件的副本。用户AppData目录中的原始文件永远不会更改,程序运行时似乎只能访问VirtualStore目录中的文件。
有没有办法从C#应用程序内部更改该文件的权限,以便我的程序将写入AppData目录中的原始文件,而不是VirtualStore目录中的原始文件?
谢谢,
杰夫
发布于 2009-02-03 23:36:17
UAC文档应该可以帮助你解决这个问题。
在我看来,您需要添加一个应用程序清单。
当您的应用程序包含一个指定了"requestedExecutionLevel“值的应用程序清单时,Vista的注册表和文件系统虚拟化将被关闭。
有关细节,请查看。
如果您以前没有在非管理条件下测试过应用程序,那么在关闭Vista的虚拟化之后,您可能会发现需要对代码进行一些更改。
https://stackoverflow.com/questions/493351
复制相似问题