存储本地数据库和应用程序的最佳位置



我想知道本地存储数据库的最佳位置在哪里?我有一个从Appdata/Roaming读取数据库(SQLITE)的应用程序。然而,这在windows7上不起作用,但在windows8-10上运行良好。我相信这与权限有关,我想了解一些额外的知识。我正在用inno创建一个设置,当我试图访问Windows7上的数据库时,由于程序崩溃,我遇到了问题

存储用户(即允许用户读写的数据)漫游(即用户远程登录时可用的数据)的准则是C:\users\username\AppData\roaming。指导原则是在此目录中创建一个具有唯一名称(如GUID)的文件夹,并将用户漫游数据存储在该文件夹中。您可以使用Path.Combine( Environment.GetFolder(Environment.SpecialFolder.ApplicationData), "a unique string")在.NET中为当前用户获取该目录的路径。

所有用户都应该有权访问自己的用户目录。这应该是从相关的API和环境变量,如这里。CSIDL_APPDATA应在您编码的所有操作系统版本中有效。您的数据库可能不需要漫游,所以CSIDL_LOCAL_APPDATA可能是最好的选择,也是我会使用的选择。

最新更新