1

在 Linux 中,我通常将用户配置文件放在 $HOME/.myapp 中,而在 Windows 中,我将使用 APPDATA。到现在为止还挺好。

非用户特定的配置呢?在 linux 中,我将其放入/etc. Windows中是否有等价物?请注意,我希望在任何用户登录之前运行该服务。此外,如果它发挥作用,我正在使用 Java 进行开发。

或者:我以错误的方式接近这个?

4

3 回答 3

2

您可以使用 ALLUSERPROFILES 作为基本目录。此环境变量解析为 Windows7 中的 C:\PROGRAMDATA 文件夹。当然,您需要为您的应用程序添加一个特定的文件夹

于 2012-07-24T12:14:33.093 回答
2

总之,您应该使用已知文件夹: ProgramData

为了避免路径的硬编码(以及为什么我不在这里提供它们),您应该始终通过以下方法之一检索值:

非管理员无法写入此文件夹,因此根据您的要求,您需要为程序创建一个目录并在安装时设置所需的 ACL。

博客文章中提供了有关此主题的一些有用信息:“我应该在哪里编写程序数据而不是程序文件”。

对于那些对使用其他已知文件夹感兴趣的人,MSDN 提供了广泛的文档

于 2014-07-31T18:27:18.440 回答
1

在 Windows 中,应用程序的大多数“程序文件”位于 C:\Program Files\MyApp。环境变量是 %ProgramFiles%\MyApp。

于 2012-07-24T12:15:36.507 回答