Environment.SpecialFolder.CommonApplicationData
*在XP下返回"C:\ Documents and Settings\All Users\Application Data",可供所有用户使用
*在Vista下返回"C:\ ProgramData [MyApp] \",这对于普通用户来说是不可写的
为什么我想要CommonFolder?因为,管理员将在管理员帐户下的XP(或vista)上安装我的软件数据库,但是当用户登录并运行我的软件时,当前帐户将通过我的软件查看数据库安装的其他位置:用户目录在文件和设置....
因此AllUsers(通用文件夹)对于管理员和常规非管理员用户来说是常见的..
这让我抓狂:在哪里放我的数据库,以便在Vista和XP下运行????? 谢谢乔纳森
用户特定的设置应存储在用户的应用程序数据文件夹(Environment.SpecialFolder.ApplicationData
)中,这样,如果多个用户登录到计算机,则每个用户都会获得自己的设置.在安装时为程序的主文件夹中的程序创建一个默认的用户设置数据库,并在用户第一次运行程序时将其复制到用户的文件夹(你知道这是第一次因为db文件不存在然而).
如果您的设置应该适用于计算机上的所有用户,那么您希望管理员设置这些设置,并且希望它们不受随意更改的影响.将这些存储在普通用户没有写访问权限的地方是一件好事.