当前位置:  开发笔记 > 后端 > 正文

写入"ProgramData"文件夹(W7和Vista).NET

如何解决《写入"ProgramData"文件夹(W7和Vista).NET》经验,为你挑选了2个好方法。

我在"Program Files"目录下安装我的应用程序.我在"ProgramData"目录下安装数据:

Environment.SpecialFolder.CommonApplicationData

在programData中,我创建了用于保存数据的文件夹.例:

C:\ ProgramData\MyApp\MyData\here我有文件和文件夹

在XP下运行良好.但不是在Vista或W7 OS下.

我可以读取此目录中的文件,但我无法写入文件,我无法创建新文件等.用户被记录为管理员.

我可以无限制地存储数据?我需要将商店数据存储在所有用户都可见的文件夹中

编辑:

我在app.manifest文件中有这个代码:



  
  
    
      
        
        
      
    
  

Grokys.. 8

您可以在此处找到可以存储程序数据的不同位置的易于理解的说明:

http://blogs.msdn.com/cjacks/archive/2008/02/05/where-should-i-write-program-data-instead-of-program-files.aspx

关于ProgramData,它说:

FOLDERID_ProgramData/System.Environment.SpecialFolder.CommonApplicationData用户永远不想在资源管理器中浏览此处,此处更改的设置应该影响计算机上的每个用户.在Windows Vista的安装上,默认位置是%systemdrive%\ ProgramData,这是一个隐藏文件夹.您需要创建目录并在安装时设置所需的ACL.

关于"您需要创建目录并在安装时设置所需的ACL." 我怎么能这样做? (9认同)


Simon Linder.. 5

这是UAC的事情。您以管理员身份运行程序,以在此SpecialFolder中创建/删除文件/文件夹。



1> Grokys..:

您可以在此处找到可以存储程序数据的不同位置的易于理解的说明:

http://blogs.msdn.com/cjacks/archive/2008/02/05/where-should-i-write-program-data-instead-of-program-files.aspx

关于ProgramData,它说:

FOLDERID_ProgramData/System.Environment.SpecialFolder.CommonApplicationData用户永远不想在资源管理器中浏览此处,此处更改的设置应该影响计算机上的每个用户.在Windows Vista的安装上,默认位置是%systemdrive%\ ProgramData,这是一个隐藏文件夹.您需要创建目录并在安装时设置所需的ACL.


关于"您需要创建目录并在安装时设置所需的ACL." 我怎么能这样做?

2> Simon Linder..:

这是UAC的事情。您以管理员身份运行程序,以在此SpecialFolder中创建/删除文件/文件夹。


好吧,即使您以管理员身份登录,通常也没有所有管理员权限。这就是UAC的概念。当您要手动删除“程序文件”中某个位置的文件时,您的行为确实相同。但是,如果您以管理员身份运行应用程序(以“以管理员身份运行...开头”),则可以删除/创建该文件夹中的文件。您还可以通过清单文件强制应用程序以管理员身份运行。
推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有