【问题标题】:Allow Non-Admin to Update .Config File In Program Files允许非管理员更新程序文件中的 .Config 文件
【发布时间】:2012-05-07 10:33:32
【问题描述】:

我正忙于开发一个在安装文件夹 (C:/Program Files/...) 中存储 .config 文件的软件。使用该软件时需要更新此配置文件,当用户具有管理员权限时当前工作正常,但是当非管理员用户尝试使用该软件时会发生异常,因为他们无权更新 C 中的文件: /程序文件/。

用于更新配置文件的代码如下:

Configuration config = ConfigurationManager.OpenExeConfiguration(fileName);
config.AppSettings.Settings.Add("New Setting");
config.Save();

是否允许非管理员用户更新此配置文件?也许通过更改实际配置文件中的某些内容或更改我更新它的方式?

理想情况下,我会将文件移动到 App Data 文件夹,但这可能是一项相当大的工作,所以我宁愿避免这样做。

任何帮助将不胜感激。

提前致谢

【问题讨论】:

标签: c# configuration-files non-admin


【解决方案1】:

您的安装程序(甚至是应用程序,当它检测到它以管理员身份运行时)可以在配置文件上设置 ACL,以允许普通用户读取和写入该特定文件。

然而,正确的方法——正如你自己所说的——是使用应用程序数据文件夹。

【讨论】:

  • +1 表示“立即正确执行”。 'common' 配置数据可以进入'Public'。我通常在那里创建一个带有应用程序名称的子文件夹,并在下面为每个版本号创建一个不同的子文件夹。
  • 感谢您的回复,如果我有足够的时间来完成它,我想我会将文件移动到 App Data 中。
猜你喜欢
  • 2014-04-29
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多