我有一个 wpf 应用程序。它使用SQL CE数据库。
我正在用户特定的AppData文件夹中创建sdf文件。但是对于单个应用程序,这将创建单个 sdf 文件。
我不要这个东西。我只想要一个公共数据库位置,任何用户/管理员都可以在其中拥有读/写访问权限。
这种情况下首选哪个位置?
我有一个 wpf 应用程序。它使用SQL CE数据库。
我正在用户特定的AppData文件夹中创建sdf文件。但是对于单个应用程序,这将创建单个 sdf 文件。
我不要这个东西。我只想要一个公共数据库位置,任何用户/管理员都可以在其中拥有读/写访问权限。
这种情况下首选哪个位置?
不幸的是,唯一可用且每个人都会建议的常见位置是系统 ProgramData 目录。它通常位于vista和7上的“C:\ProgramData”下。
对于XP,它是“C:\Documents and Settings\All Users\Application Data”
如果您的应用程序在管理模式下运行,则不需要读/写访问权限。
但是如果您计划在标准帐户下运行应用程序,那么您可能需要写权限。但这取决于系统 UAC。
因此,建议在 ProgramData 下为您的数据库创建一个文件夹,将您的数据库放在那里,假设由不同用户的所有其他应用程序使用,并为所有用户授予对该文件夹的写入/修改访问权限。
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
这为您提供了共享所有应用程序数据的根文件夹。在此处为您的应用创建一个子文件夹并将文件存储在那里。