将全局应用程序数据放在Vista中的位置?

Joo*_*kka 3 java directory permissions global windows-vista

在Windows(Vista)的系统,我应该在哪里地方,应该是可读的数据,并通过每个人的计算机即每个用户可写的,?Vista的C:\ Users\xxx\AppData\something,C:\ Program Files和C:\ ProgramData目录和UAC的概念有点令人困惑.

此外,有没有现成的解决方案来确定Java的位置?我想它需要与本机库进行一些交互,因为System.getProperties只有user.home和user.dir,它们都不是全局可写的.

Sco*_*ham 5

在vista c:\ ProgramData就是这个地方,这取代了以前用于C:\ Documents and Settings\AllUsers\AppData的XP.

我不确定在java中执行此操作的具体细节..但是,ALLUSERSPROFILE环境变量为您提供了路径,如果您可以掌握它.您应始终使用此而不是硬编码路径,因为文件夹名称在操作系统的不同国际化版本上更改.


bla*_*k3r 5

如果您需要允许没有管理员权限的用户修改全局设置,那么正确的方法是为应用程序创建安装程序,并在安装期间设置"Common Application Data"文件夹的权限,以便允许用户区域写信给它.

看到这篇文章:在哪里放置常见的可写应用程序文件?