如何将应用程序范围设置变为只读?

Can*_*ith 14 c# wpf settings uac

如果它们无法从默认值改变,它们有什么用?修辞问题.

首先,绕过设置系统并直接写入应用程序范围设置文件的最佳方法是什么(下一段中的安全问题)?的XmlReader/XmlWriter的?

IIRC,如果应用程序试图写入其Program Files文件夹,Windows Vista和7会做一些魔术来防止这种情况发生.我想我需要调用UAC进行提升,我必须在我的应用程序的"选项"窗口的"确定"按钮上添加该花式盾牌图标,依此类推.链接到快速操作方法?

或者,您可以告诉我,我正在尝试做的是愚蠢的,我应该将我可变的应用程序范围设置存储在其他地方.

Sim*_*ens 12

如果将它们更改为"用户"设置,则可以在代码中更改它们,当您调用Save()时,它们将保存到当前用户本地设置文件夹中的user.config文件中.

显然,这意味着它们可以为每个用户带来不同.通常,对于每个用户都相同的全局应用程序设置不会在代码中进行修改,因为一个用户所做的更改将影响其他所有人(因此应用程序设置是只读的).

如果您不希望它们是用户范围,请查看ConfigurationManager类.这将允许您手动读取和写入.config文件.请记住,c:\ program files \文件夹受到保护,普通用户无法访问它(这将导致UAC提示或vista/win7失败).仔细考虑如何处理它,并记住对app.config的任何更改都将影响所有用户.

Windows中没有任何位置可以保证所有用户都具有写访问权限.

  • 对我来说很奇怪,更多的人不需要这个功能.当然,许多应用程序都具有全局设置,程序员希望为其构建友好的UI. (9认同)
  • 但这正是我想要的!用户A修改了某些内容,而用户B不必重复该修改. (2认同)