【发布时间】:2012-05-17 07:08:51
【问题描述】:
我有一个在 app.config 文件中存储单个用户名和密码的应用程序。 我目前有 app.config 在运行时可写,以便用户能够更改它。
问题从使用安装项目安装开始,app.config 安装在任何用户都不可写的程序文件上。
所以,我在安装时将 app.config 位置更改为公共文件夹,以便所有用户都可以读取和写入。
现在,在安装时,存储在那里的数据似乎根本无法访问,例如使用 ConfigurationManager.AppSettings["networkPath"] 返回空字符串。
我做错了什么?
【问题讨论】:
-
您需要做的是从您的安装程序中仅授予对程序文件中的应用程序配置文件的访问权限。你用什么设置?
-
我使用默认设置和部署项目,我如何授予对应用配置文件的访问权限?
-
你是指来自visual studio的msi吗?尽管我不太确定,但它必须有一个选项。但是忘记它,您可以从您的 C# 应用程序中执行此操作。看我的回答
-
您可以改用应用程序设置文件吗?这会将自身本地化到用户的应用程序数据文件夹,因此不会涉及对安装项目的任何权限更改(通常意味着只有在 Program Files 目录中时才能读取)。
-
@Reddog 访问 appconfig 文件,默认的更快,因为它是在加载程序集时加载的。每次你想要一个值时,它都不需要写。但是是的,这也是一种选择
标签: c# .net winforms app-config