为什么我的C#app无法在Windows 7中创建文件?

Jon*_*ter 9 c# windows-7

我有一个C#应用程序,它为自己创建一个设置文件来存储某些可视元素的当前状态.此应用程序适用于任何未运行Windows 7的计算机,但在这些计算机上,我们收到错误,因为用户没有权限,无法创建设置文件.现在,我可以通过访问每台计算机,以管理员身份登录并为用户提供对我们已安装的应用程序的程序文件夹的读写访问权来解决此问题,但必须有更好的方法.

看起来在XP中,您对默认创建的文件夹具有写入权限,但情况不再如此.我需要在安装程序包中进行设置才能使其正常工作吗?

Jon*_*eet 19

关键是您不应该将设置文件存储在程序文件夹中.微软长期以来一直反对这一建议,但开始对Vista IIRC采取更严格的措施.

使用Environment.SpecialFolders.ApplicationData(等)找到最适合放置设置的位置.或者使用.NET设置基础结构,它会自动为您执行此操作.

  • 谢谢,我知道我做的事情从根本上是错误的.我已经将数据存储在程序文件夹中多年了,这只是习惯的一种力量.我切换到在Application Data中创建自己的文件夹,一切正常. (2认同)

Sam*_*der 7

你想在安装文件夹中创建文件吗?您应该使用用户数据文件夹来存储数据而不是安装文件夹.使用该Environment.SpecialFolders.ApplicationData文件夹获取可写入的文件夹.