环境.SpecialFolder.CommonApplicationData
*在XP下返回“C:\Documents and Settings\All Users\Application Data”即 对所有用户可写
*在 Vista 下返回“C:\ProgramData[MyApp]\”,普通用户不可写
现在我为什么要 CommonFolder ? 因为,管理员将在 XP(或 vista)上使用管理员帐户安装我的软件数据库,但是当用户重新登录并运行我的软件时,当前帐户会告诉我的软件查看数据库安装的不同位置:用户目录在文档和设置中....
所以 AllUsers(公用文件夹)对于管理员和普通非管理员用户是公用的..
这让我发疯:我的数据库放在哪里才能在 Vista 和 XP 下工作????? 谢谢 乔纳森
最佳答案
用户特定的设置应该存储在用户的应用程序数据文件夹 (Environment.SpecialFolder.ApplicationData
) 中,这样如果多个用户登录到机器,他们每个人都可以获得自己的设置。在安装时在程序的主文件夹中为程序创建一个默认的用户设置数据库,并在用户第一次运行该程序时将其复制到用户的文件夹中(你会知道这是第一次,因为数据库文件不存在还没有)。
如果您有应该应用于机器上所有用户的设置,您希望这些设置由管理员设置,并且您希望它们免受随意更改。将这些存储在普通用户没有写入权限的地方是一件好事。
关于c# - 存储用户设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611058/