无法使用 RegistrySearch 读取值
Unable to read value with RegistrySearch
我的安装程序需要区分 Intel 和 AMD 处理器制造商,以便安装相应的组件(驱动程序)。我已经看到可以从注册表项中捕获此类信息。我做了以下事情
<Property Id="REGMANIFACTURER">
<RegistrySearch Id="RegCPU"
Root="HKLM"
Key="HARDWARE\DESCRIPTION\System\ControlProcessor[=10=]"
Name="VendorIdentifier"
Type="raw"
Win64="yes"
>
</RegistrySearch>
然后以这种方式下降(例如这是AMD的情况)
<ComponentGroup Id="Xxxxxx" Directory="Yyyy">
<!--Catalog-->
<Component Id="xxx.cat" Guid="7d79a20a-2742-4d38-be85-35a60ac512f1" Win64="yes" >
<Condition>
<![CDATA[Installed OR (REGMANIFACTURER <> "GenuineIntel")]]>
</Condition>
<File Id="xxx.cat" Source="xxx\yyy\xxx.cat" KeyPath="yes" Checksum="yes" />
</Component>
从 MSI 安装日志中我可以看到错误 1402(无法打开密钥),能否请您告诉我错误在哪里,and/or如何实现目标?
非常感谢您的宝贵时间!
您的 Key 属性中有错字:应该是
HARDWARE\DESCRIPTION\System\中央处理器\0
我的安装程序需要区分 Intel 和 AMD 处理器制造商,以便安装相应的组件(驱动程序)。我已经看到可以从注册表项中捕获此类信息。我做了以下事情
<Property Id="REGMANIFACTURER">
<RegistrySearch Id="RegCPU"
Root="HKLM"
Key="HARDWARE\DESCRIPTION\System\ControlProcessor[=10=]"
Name="VendorIdentifier"
Type="raw"
Win64="yes"
>
</RegistrySearch>
然后以这种方式下降(例如这是AMD的情况)
<ComponentGroup Id="Xxxxxx" Directory="Yyyy">
<!--Catalog-->
<Component Id="xxx.cat" Guid="7d79a20a-2742-4d38-be85-35a60ac512f1" Win64="yes" >
<Condition>
<![CDATA[Installed OR (REGMANIFACTURER <> "GenuineIntel")]]>
</Condition>
<File Id="xxx.cat" Source="xxx\yyy\xxx.cat" KeyPath="yes" Checksum="yes" />
</Component>
从 MSI 安装日志中我可以看到错误 1402(无法打开密钥),能否请您告诉我错误在哪里,and/or如何实现目标?
非常感谢您的宝贵时间!
您的 Key 属性中有错字:应该是
HARDWARE\DESCRIPTION\System\中央处理器\0