gpt4 book ai didi

所有用户的 Windows 数据存储

转载 作者:可可西里 更新时间:2023-11-01 11:24:59 24 4
gpt4 key购买 nike

在 Window 7、8 和 10 上,我希望我的应用程序将数据存储在共享位置,以便在 PC 上运行该应用程序的所有用户都将访问相同的数据。数据是可读/可写的。我应该使用什么位置?

最佳答案

Windows 有关于程序共享数据的有趣规则。

  • Program Files(“C:\Program Files”和“C:\Program Files (x86)”)用于不可变(只读)程序数据和可执行文件 - 因此此处的文件需要管理权限才能编辑。因此,它对不应泄露的重要文件(例​​如您的主要可执行文件)非常有用。这就是安装程序以提升的权限运行的原因。缺点是,如果您的程序具有自动更新机制,那么它也需要提升运行。
  • 程序数据(在 Windows Vista 和更高版本上为 C:\ProgramData,或 C:\Documents and Settings\All Users\Application Data ) 用于可变程序数据 - 您不需要管理权限即可在此文件夹中创建文件,除非一旦创建了文件,只有最初创建该文件的用户可以随后编辑它(尽管每个人都可以阅读它)。这是特殊的 CREATOR OWNER 权限。
  • AppData(C:\Users\(you)\AppData\LocalC:\Users\(you)\AppData\Roaming) 是用户特定的,用于用户特定的设置、配置和数据。 Local 版本应该用于特定于机器的设置,如果用户使用漫游配置文件,这些设置不应漫游,例如数据缓存(例如浏览器缓存)。

所以在你的情况下 ProgramData 看起来很理想,但你需要注意默认的 CREATOR OWNER 规则 - 但有一个解决方法:你的程序的安装程序(它会运行作为管理员)能够更改其 ProgramData 子目录的 ACL 权限以允许其他用户编辑文件。我建议授予 Users 组权限而不是 Everyone 以防止未经身份验证的用户可能进行的远程攻击和修改。

关于所有用户的 Windows 数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40574732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com