Permissions 具有完全权限的注册表

Permissions 具有完全权限的注册表,permissions,registry,admin,nsis,Permissions,Registry,Admin,Nsis,我正试图在nsis中为注册表授予完全权限,但它不起作用。下面是一个示例代码 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Demo\" "mydemo" "abc" AccessControl::GrantOnRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Demo\" "PC116\Users" "FullAccess" 我试着在WindowsXP电脑上做这件事。我试着使用一个vbscript来使用REGINI,它为用户提供了所有

我正试图在nsis中为注册表授予完全权限,但它不起作用。下面是一个示例代码

WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Demo\" "mydemo" "abc"
AccessControl::GrantOnRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Demo\" "PC116\Users" "FullAccess" 
我试着在WindowsXP电脑上做这件事。我试着使用一个vbscript来使用REGINI,它为用户提供了所有人的完全权限。
有人能帮我吗。

AccessControl插件只支持短HKEY名称

!include LogicLib.nsh
!define StringSID_BUILTIN_Users S-1-5-32-545

WriteRegStr HKLM "SOFTWARE\Demo\" "mydemo" "abc"
AccessControl::GrantOnRegKey HKLM "SOFTWARE\Demo\" "(${StringSID_BUILTIN_Users})" "FullAccess"
pop $0
${If} $0 != "ok"
    pop $1
    DetailPrint $0>$1 ; In your case: "error>Bad root key name (HKEY_LOCAL_MACHINE)"
${EndIf}

AccessControl插件仅支持短HKEY名称

!include LogicLib.nsh
!define StringSID_BUILTIN_Users S-1-5-32-545

WriteRegStr HKLM "SOFTWARE\Demo\" "mydemo" "abc"
AccessControl::GrantOnRegKey HKLM "SOFTWARE\Demo\" "(${StringSID_BUILTIN_Users})" "FullAccess"
pop $0
${If} $0 != "ok"
    pop $1
    DetailPrint $0>$1 ; In your case: "error>Bad root key name (HKEY_LOCAL_MACHINE)"
${EndIf}

很好用。但我对使用SID有疑问。我应该使用S-1-5-32-545用户还是S-1-1-0所有人?有什么区别?如果任何新用户添加到windows登录帐户,则该用户将添加到everyone或users中?用户是一个组,就像Administrators是一个组一样,每个人都取决于注册表中的设置,但通常是每个人,不包括匿名网络共享登录。。。编辑:查看,当我检查代码时,它不工作。在使用access插件添加此注册表后,我尝试使用vb6代码通过使用RegSetValueEx函数来更改该值。当以管理员身份运行代码时,注册表发生了更改。那么该怎么办?那么为所有用户设置权限有何用?如果您可以在regedit中看到权限更改,我真的不知道更改了多少我能帮上更多的忙…很好。但我对使用SID有疑问。我应该使用S-1-5-32-545用户还是S-1-1-0所有人?有什么区别?如果任何新用户添加到windows登录帐户,则该用户将添加到everyone或users中?用户是一个组,就像Administrators是一个组一样,每个人都取决于注册表中的设置,但通常是每个人,不包括匿名网络共享登录。。。编辑:查看,当我检查代码时,它不工作。在使用access插件添加此注册表后,我尝试使用vb6代码通过使用RegSetValueEx函数来更改该值。当以管理员身份运行代码时,注册表发生了更改。那么该怎么办?那么为所有用户设置权限有何用?如果您可以在regedit中看到权限更改,我真的不知道更改了多少我能帮忙的更多。。。