微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows数据存储为所有用户

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

使用golang代码closures窗口

通过将Windows传递给我的程序,让Windows“打开”所有的东西

我如何在Windows上专门locking文件

在三个命令提示符下自动运行命令?

在64位系统上编译32位二进制

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

程序文件 (“ C:Program Files ”和“ C:Program Files (x86) ”)适用于不可变(只读)程序数据和可执行文件 – 因此这里的文件需要管理权限才能编辑。 因此,它使它对不应该受到危害的重要文件(例​​如,您的主要可执行文件)有用。 这就是安装程序以提升的权限运行的原因。 如果你的程序有一个自动更新机制,那么还有一个缺点,那就是需要升级

程序数据 (Windows Vista和更高版本,或C:Documents and SettingsAll UsersApplication Data上的C:ProgramData )用于可变的程序数据 – 您不需要管理权限就可以在此文件夹中创建文件,一旦创建了一个文件,只有最初创建该文件用户可以随后对其进行编辑(尽管每个人都可以阅读)。 这是CREATOR OWNER的特殊权限。

在这里描述: 在C: ProgramData 中编写时的特权/所有者问题

AppData ( C:Users(you)AppDataLocal和C:Users(you)AppDaTaroaming )是用户专用的,用于用户特定的设置,配置和数据。 如果用户正在使用漫游配置文件(例如数据缓存(例如浏览器缓存)),则Local版本应该用于不应漫游的机器特定设置。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐