Невозможно прочитать значение с RegistrySearch

Моему установщику нужно различать процессоры Intel и AMD, чтобы удалить соответствующие компоненты (драйверы). Я видел, что можно получить такую ​​информацию из раздела реестра. Я сделал следующее

<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 ответ

Решение

У вас есть опечатка в атрибуте Key: она должна быть

ОБОРУДОВАНИЕ \ ОПИСАНИЕ \ Система \ЦентральныйПроцессор\0

Другие вопросы по тегам