我刚才发布了this问题,关于在Linux上存储非用户特定应用程序数据的位置。
如您所见,我打算在Mac上使用“/ Library / Application Support”,在Linux上使用“/ var / lib”或“/ usr / share”。
在现有应用程序(目前仅限Windows)上,我们在Vista&上使用“\ ProgramData”。 Windows XP和Windows XP上的“\ Documents and Settings \ All Users”(均使用System.getenv(“ALLUSERSPROFILE”)获得,但在Mac或Linux上无效)。
我发现Mac和Mac的问题Linux位置(与Windows不同)是非root用户/管理员用户无法访问它们,这有点违背了使用它们的目的。
这种情况的最佳做法是什么?我们可以简单地将应用程序数据存储在用户的主目录中。我实际上并不会反对这一点,因为当新用户尝试使用它时,应用程序看起来完全是“新的”似乎是合理的。这给我们带来的主要问题是每个用户都必须输入序列号才能激活应用程序(激活信息是我们需要存储的'应用程序数据'的一部分)。这不是很理想。
那就是说,如果没有真正的替代方案,那么我想它必须这样做。
答案 0 :(得分:4)
非用户特定应用程序数据是什么意思?
应用程序所需的只读资源,例如本地化字符串或按钮图标:
Resources
子文件夹/opt/<app>/etc
。
读/写属性,例如序列号:
$HOME
目录中的某个位置答案 1 :(得分:1)
/ Users / Shared /对每个人都可写。也就是说,如果你需要支持计算机范围的许可证,序列号的最佳位置,恕我直言,确实/图书馆/应用程序支持。您必须使用授权服务一次来询问管理员密码并在那里保存序列号。如果用户输入管理员密码失败,请将序列号保存在〜/ Library / Application Support中。