繁体   English   中英

更改注册表值权限命令行或NSIS

[英]Change registry value permission command line or NSIS

我试图授予普通用户对我创建的注册表值的写访问权限。

他们不能具有对父密钥的写访问权。

通过regedit ,很简单:1.选择值2.编辑权限(相应更改)3.确定

但是,我正在努力通过命令行或NSIS执行相同的操作。

  • regini命令有一个非常好的更改key权限的方法。 如果此方法可用于更改value权限,则可以轻松地将其编写脚本到安装程序中。
  • NSIS插件AccessControl有一个非常好的更改key权限的方法,但是没有证据表明可以更改value权限。

在这种情况下, keyHKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run ,我不会修改其权限。

如何更改我创建的值的权限? 我该如何按照regedit执行此操作,但如何通过命令行或NSIS进行静默操作?

该值将类似于:

[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"My Value"="C:\Please\Let\Me\Change\Permissions\Sadface.exe"

注意,这是针对脚本化软件安装程序的,其构建脚本将在Mac,Linux和Windows上运行(NSIS允许此操作)。 捆绑特殊dlls或Windows可执行文件的建议是可以的,只要它们在安装时容易捆绑在一起即可。 除非占用空间小,否则不接受包含Windows SDK之类的工具的解决方案,只要这些DLL可以轻松捆绑并包含在LGPL 2.1项目中即可。 例如,安装用户将必须运行此程序,因此解决方案必须具有合理的可移植性/可分发性。

正如@Noodles在上面的评论中提到的那样,无法更改value权限,因此不存在解决方案。 注册表编辑器实际上提供了key权限,通过查看Window标题可以观察到该key权限,而该特定解决方案不希望这样做。

暂无
暂无

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

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