我需要写入安装在Program Files下的应用程序目录中的一些文件。我知道在Vista和Windows7上启用UAC后,用户不能修改此目录中的文件。然而,我知道UAC虚拟化是在Vista中添加的,它基本上将写操作重定向到virtualstore directory。在Vista中,这很好用,我的文件实际上被写到了这个虚拟商店目录中。但是,在Windows 7上,我收到访问被拒绝的错误,并且我的文件根本不会写入此目录。怎么回事?
发布于 2010-03-04 00:45:07
它是完全相同的二进制文件,还是被重新编译(在Win7下)?
如果你的应用程序清单表明它是Vista感知的,那么Vista也会给出一个错误。
发布于 2010-03-04 00:41:27
我不确定您正在尝试做什么,但是您不应该在程序文件目录中写入数据,除非您正在升级或修改应用程序本身。
我将更改代码以写入到正确的位置。Vista重定向只是为了防止应用程序崩溃而做的杂乱无章的事情。
始终使用Environment.GetFolderPath方法来获取系统路径。
发布于 2010-03-04 00:58:22
您是否尝试过使用IsolatedStorageFile
https://stackoverflow.com/questions/2373058
复制相似问题