Mar*_*tin 1 security registry permissions wix wix3
我正在尝试安装只应由某些用户访问的注册表项.安装程序的每个其他部分都可以工作(它安装服务并注册组件).这是片段.
<Component Id="cmpXXX" Guid="{YYY}">
<RegistryKey Root="HKLM" Key="Software\ZZZ" Action="createAndRemoveOnUninstall">
<RegistryKey Key="Machine" Action="createAndRemoveOnUninstall">
<Permission User="Administrators" GenericAll="yes" />
<RegistryValue Type="string" Name="ID" Value="SecretID" />
<RegistryValue Type="string" Name="Key" Value="SecretKey" />
</RegistryKey>
</RegistryKey>
</Component>
Run Code Online (Sandbox Code Playgroud)
安装程序完成后,所有用户都可以读取密钥(而不仅仅是管理员).我要安装的命令行是这样的:
msiexec /i installer.msi /l*v installlog.txt
Run Code Online (Sandbox Code Playgroud)
日志没有说明权限.当我在Orca中打开数据库时,LockPermissions表显示权限行,它看起来很好.
我究竟做错了什么?
在我向每个RegistryValue添加权限条目后,它似乎开始工作了.
<Component Id="cmpXXX" Guid="{YYY}">
<RegistryKey Root="HKLM" Key="Software\ZZZ" Action="createAndRemoveOnUninstall">
<RegistryKey Key="Machine" Action="createAndRemoveOnUninstall">
<Permission User="Administrators" GenericAll="yes" />
<RegistryValue Type="string" Name="ID" Value="SecretID">
<Permission User="Administrators" GenericAll="yes" />
</RegistryValue>
<RegistryValue Type="string" Name="Key" Value="SecretKey">
<Permission User="Administrators" GenericAll="yes" />
</RegistryValue>
</RegistryKey>
</RegistryKey>
</Component>
Run Code Online (Sandbox Code Playgroud)
但它具有锁定整个Software\ZZZ键的副作用.不太理想,但我可以解决这个问题.
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |