C#应用程序使用错误位置的数据库

时间:2014-03-08 01:52:54

标签: c# winforms

我已将我的sqlite数据库路径设置为

  string AppPath = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
  dbName = AppPath + "\\data\\rbssystems.sqlite";

但是当使用安装程序打包和安装应用程序时,我的应用程序使用

C:\Users\<username>\AppData\Local\VirtualStore\Program Files\RBS\data

应该使用

C:\Program Files\RBS\data

任何人都可以告诉我们什么,以及如何让它从

中读取数据库
C:\Program Files\RBS\data

由于

1 个答案:

答案 0 :(得分:3)

除非具有管理权限,否则您的应用无法写入C:\Program Files。 Windows会自动将您重定向到C:\Users\<username>\AppData\Local\VirtualStore\Program Files。请参阅此文章以获取解释:http://blogs.windows.com/windows/archive/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx

应用程序数据应始终位于AppData文件夹中,绝不应位于Program Files中。