Installshield - 如何覆盖 HKEY_LOCAL_MACHINE 注册表?

Installshield - How can I overwrite HKEY_LOCAL_MACHINE registry?

我试图在两个配置单元 HKEY_CURRENT_USERHKEY_LOCAL_MACHINE

中更改此注册键(和子键、值)SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone

即使用同样的方法,我也只能覆盖HKEY_CURRENT_USER中的这个key。 在 HKEY_LOCAL_MACHINE 上,我可以覆盖子项但无法更改此 SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone 注册值!

Setup.exe 已经需要管理员执行级别...

发生了什么,我怎样才能让它发挥作用?

ACL 信息:

Path   : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone
Owner  : NT AUTHORITY\SYSTEM
Group  : NT AUTHORITY\SYSTEM
Access : BUILTIN\Users Allow  ReadKey
         BUILTIN\Users Allow  -2147483648
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Administrators Allow  268435456
         NT AUTHORITY\SYSTEM Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  268435456
         CREATOR OWNER Allow  268435456
         APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow  ReadKey
         APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow  -2147483648
         S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 Allow  ReadKey
         S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 Allow  -2147483648

CapabilityAccessManager ConsentStore 由用户提供,在 UAC 同意后,您甚至不能在 regedit 中导入 reg 文件,因为它的路径属于 SYSTEM

这是出于安全考虑。要执行类似的操作,您应该妥协路径的默认所有权。