无法使用RegistrySearch读取值

时间:2015-02-26 07:49:26

标签: wix windows-installer installer msiexec

我的安装程序需要区分Intel和AMD处理器显卡,以便删除相应的组件(Drivers)。我已经看到可以从注册表项中捕获此类信息。我已完成以下

<Property Id="REGMANIFACTURER">
  <RegistrySearch Id="RegCPU"
                  Root="HKLM"
                  Key="HARDWARE\DESCRIPTION\System\ControlProcessor\0"
                  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(无法打开密钥),您能告诉我错误的位置,和/或如何实现目标吗?

非常感谢你的时间!

1 个答案:

答案 0 :(得分:0)

您的Key属性中有拼写错误:它应该是

HARDWARE \ DESCRIPTION \ SYSTEM \的 CentralProcessor \ 0