我正在试图弄清楚如何以编程方式向我们软件的注册表项授予“Everyone”“Full Control”,以便非管理员能够写入它。但是,我找不到这个,我找到的唯一解决方案是允许您使用的第三方注册表组件。我不想安装整个第三方库只是为了能够做到这一点。我可以做一个Windows API调用吗?
这将在我的自定义应用程序安装程序中完成。当然,它必须在提升的管理访问权限下完成,这是另一个故事。
答案 0 :(得分:5)
您需要的功能是SetNamedSecurityInfo
。 MSDN上的此主题提供了满足您需求的示例代码:Modifying the ACLs of an Object in C++。
答案 1 :(得分:0)
多年来,我们的安装程序已经向cacls提出要求,以便在安装期间设置权限。它非常可靠。
找出你需要的命令行参数。
有很多关于此的文档。例如:http://www.cyberciti.biz/tips/windows-change-access-permissions-from-the-command-line.html