我有一个.NET 4.0与数据库(SQLite)的winform应用程序。我需要为用户添加一个选项,以便能够更改包含数据库的文件的路径 - 简而言之,就是更改连接字符串。我用的app.config保存连接字符串是这样的:C#WinForm应用程序 - 如何保存连接字符串(SQLite)
<connectionStrings>
<add name="connectionString" connectionString="Data Source=D:\myDatabase.db; FailIfMissing=True; Version=3"/>
</connectionStrings>
有没有一种方法可以让用户修改app.config文件(它位于Program Files文件夹)?我不想以管理员身份运行应用程序,只有在尝试修改app.config文件时,是否有办法暂时授予用户管理员权限?
如果您有更好的建议持续存储连接字符串,请分享。
谢谢!
编辑: 其实我可以改变app.config文件:
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = "Data Source=" + path + "; FailIfMissing=True; Version=3";
config.Save();
ConfigurationManager.RefreshSection("connectionStrings");
问题是当用户不是管理员,对文件的访问被拒绝。是否有解决方法(我不想以管理员身份运行该应用程序)?还是有更好的方法来存储我的连接字符串?
如何从设置中获取连接字符串?对于app.config我使用String conn = ConfigurationManager.ConnectionStrings [“connectionString”]。ConnectionString; – user1080533 2015-02-11 18:20:15
@ user1080533编辑显示实施。 – DrewJordan 2015-02-11 18:56:14
谢谢,会走这条路 – user1080533 2015-02-11 19:02:54