gpt4 book ai didi

c++ - 在 Windows 7 中释放写入权限

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:25 25 4
gpt4 key购买 nike

我正在尝试发布一个 C++ .Net 应用程序,但对 Windows UAC 感到非常沮丧。由于一直为 XP 编写,我对此没有太多经验。

该程序需要更新存储在两个 XML 文件中的一些属性,并且每次它尝试时,如果它没有使用管理员帐户运行,它就会被拒绝访问。我遵循了 Microsoft 的建议,并将所有需要修改的文件写入 CSIDL_COMMON_APPDATA 文件夹。安装程序有一个操作,在后者中创建 [Organization}[Program] 结构,并添加具有完全控制权限的安全组 Every One,因为默认情况下,该目录是只读的。我已经验证创建的目录 [Organization}[Program] 实际上包含安装后分配的组和权限。此外,该应用程序有一个带有请求执行级别的 list ,我已经尝试将其作为调用者和最高可用级别。

应用程序仍然无法写入目录,除非用户未以管理员身份登录...

这些机器位于由服务器 2003 控制的域中,但客户端是 XP、vista 和 7 的混合体。

拜托,在这方面比我更有经验的人可以启发我吗?我应该使用其他文件夹吗?问题是不同的用户可能会登录到计算机并且这些设置是通用的,因此明显的用户文件夹不是一个选项。

我无法使用安装程序将用户添加到文件夹的安全性中,因为我不知道域中的哪个用户将使用该程序,而且我无法在启动时从程序中执行此操作,因为如果用户没有管理员权限程序将被阻止。

关于我在这里遗漏了什么,请提供任何建议或指示?

最佳答案

This可以讨论你的问题。特看

Your application's installer needs to set ACLs on your subdirectory of CSIDL_COMMON_APPDATA to allow users to access that directory as required by your application

关于c++ - 在 Windows 7 中释放写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11554407/

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