【问题标题】:File access denied while accessing from program files从程序文件访问时文件访问被拒绝
【发布时间】:2013-05-26 20:10:46
【问题描述】:

我有一个用 VS 2010 和 C# 开发的小型 Winform 应用程序。并创建了设置。

我已将应用程序配置文件放在应用程序文件夹路径中以保存用户凭据。安装后应用程序无法访问配置文件,因为我给了程序安装默认路径如下:

[ProgramFilesFolder][制造商][产品名称]

所以我需要将我的用户凭据永久保存在其他地方。我需要读取和写入权限。我还需要记录应用程序异常。

【问题讨论】:

标签: c# visual-studio-2010


【解决方案1】:

应该保存用户数据的位置位于以下Environment.SpecialFolder 位置之一

  • ApplicationData - 用作当前漫游用户的应用程序特定数据的公共存储库的目录。漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络上的服务器上,并在用户登录时加载到系统中。
  • LocalApplicationData - 用作当前非漫游用户使用的特定于应用程序数据的公共存储库的目录。
  • CommonApplicationData - 用作所有用户使用的特定于应用程序数据的公共存储库的目录。

使用Enviorment.GetFolderPath获取路径

var savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)),
                            "MyAppName");
//This should return the path  %UserProfile%\Roaming\MyAppName\

对于程序日志,我将使用CommonApplicationData,因此来自多个用户的日志都收集在一个位置。

【讨论】:

  • 感谢您的回复。我如何查看该日志文件。我刚刚记录了一些 txt,但我无法获取 savePath。
  • 我现在知道了,我必须先创建那个目录。我使用了 CommonApplicationData。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2018-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多