我正在尝试使用 NSIS 中的AccessControl 插件来设置注册表项的权限。它不工作。安装程序运行后,所有用户组没有完全控制。
我在下面创建了一个示例。这里有什么问题吗?是否有另一种机制来完成同样的事情?我还尝试使用所有人组 S-1-1-0 的数字形式,我还没有尝试使用“所有人”。
; Create the key for local machine settings (could be a 32 bit or 64 bit location)
SetRegView 32
WriteRegStr HKLM "SOFTWARE\MyApp" "x" "y"
SetRegView 64
WriteRegStr HKLM "SOFTWARE\MyApp" "x" "y"
; Give all authenticated users (BUILTIN\Users) full access on the registry key HKEY_LOCAL_MACHINE\Software\MyApp
SetRegView 32
AccessControl::GrantOnRegKey HKLM "SOFTWARE\MyApp" "BUILTIN\USERS" "FullAccess"
SetRegView 64
AccessControl::GrantOnRegKey HKLM "SOFTWARE\MyApp" "BUILTIN\USERS" "FullAccess"
起初,我没有理会这两个注册表视图。但经过实验,为了排除 WOW6432Node 的问题,我将命令加倍。我希望没有必要。