[英]Change registry value permission command line or NSIS
我试图授予普通用户对我创建的注册表值的写访问权限。
他们不能具有对父密钥的写访问权。
通过regedit
,很简单:1.选择值2.编辑权限(相应更改)3.确定
但是,我正在努力通过命令行或NSIS执行相同的操作。
regini
命令有一个非常好的更改key
权限的方法。 如果此方法可用于更改value
权限,则可以轻松地将其编写脚本到安装程序中。 AccessControl
有一个非常好的更改key
权限的方法,但是没有证据表明可以更改value
权限。 在这种情况下, key
为HKLM\\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.