2

nsis のレジストリに完全なアクセス許可を与えようとしていますが、機能していません。以下はサンプルコードです。

WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Demo\" "mydemo" "abc"
AccessControl::GrantOnRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Demo\" "PC116\Users" "FullAccess" 

Windows XP PCでやってみました。ユーザー「Everyone」に完全な権限を与えるvbscriptを使用してREGINIを使用してみました。誰でもこれについて私を助けることができます。

4

1 に答える 1

4

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}
于 2013-04-15T16:11:19.777 に答える