![](/img/trans.png)
[英]Get write access to local_machine\software in the registry for .net application
[英]How to allow registry (write) access fo my .NET application?
我收到错误消息:
请求的注册表访问被拒绝
当尝试在打开UAC的情况下写入注册表键时:
RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, "")
tawkey.OpenSubKey(x, true).SetValue(X, V, RegistryValueKind.DWord)
我必须在我的软件安装期间运行“subinacl /subkeyreg HKEY_LOCAL_MACHINE\PathToMyKeys... /grant=user=f”吗? 还是有其他方法可以访问我的注册表项?
谢谢你。
如果您希望写入HKLM
下的密钥,则需要一个提升的进程。 这是通过在应用程序清单中将requestedExecutionLevel
设置为requireAdministrator
来实现的。
进行此更改意味着您的应用程序每次运行时都会显示一个 UAC 提升对话框。 这无疑会让人恼火,所以这里有一些避免这种刺激的选择:
HLKM
以外的地方。HLKM
的写入。HLKM
,请安排您按需提升。选项 3 需要稍加阐述。 进程一旦启动就无法提升。 您只能在流程开始时提升。 因此,为了实现选项 3,您需要该功能存在于单独的进程中或进程外 COM 服务器中。 如果您沿着这条路线走 go,请记住在任何导致 UAC 对话框的 UI 元素上包含盾牌图标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.