繁体   English   中英

如何允许非管理员用户写入注册表项HKEY_LOCAL_MACHINE \\ SOFTWARE \\ SWname \\ Licenses

[英]How to allow non-admin user to write to registry key HKEY_LOCAL_MACHINE\SOFTWARE\SWname\Licenses

我有使用Windows Installer部署的软件。

在Windows XP上,当我使用非管理员用户安装软件包时,它会要求正确的管理员权限。 然后,我单击以管理员身份运行,并等待安装完成。

然后,如果我(非管理员用户)要写入注册表项“ HKEY_LOCAL_MACHINE \\ SOFTWARE \\ SWname \\ Licenses”,则该软件将引发异常。 访问被拒绝。

我在源代码中使用以下代码:

RegistryKey rk= Registry.LocalMachine.CreateSubKey("SOFTWARE\\"+swName+"\\Licenses", RegistryKeyPermissionCheck.ReadWriteSubTree);

但是,如果我是非管理员用户,仍然无法访问注册表项。

如何允许非管理员用户对我的软件下的注册表项具有写权限? 喜欢添加许可证吗?

首先要指出的是为什么您要执行自定义操作而不是使用Windows Installer注册表表? 每台计算机的安装是“托管的”或“受信任的”,这意味着后续的维修/重新安装将自动提升并具有更新注册表的权限。

您可以使用Windows Installer中的LockPermissions表来放宽对该注册表项的权限。 假设这样做是安全和适当的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM