0

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

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

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

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

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

任何帮助将不胜感激。

提前致谢

4

1 回答 1

1

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

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

于 2012-05-07T10:38:30.410 回答