Мой установщик должен различать процессор Intel и AMD, чтобы отбросить соответствующие компоненты (драйверы). Я видел, что можно поймать такую информацию из раздела реестра. Я сделал следующееНевозможно прочитать значение с RegistrySearch
<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 (Не удалось открыть ключ), не могли бы вы сообщить мне, где ошибка, и/или как достичь цели?
Большое спасибо за ваше время!
Вместо трал реестра часто лучше использовать соответствующий API. GetSystemInfo() или GetNativeSystemInfo() расскажут вам об Intel против AMD в результате обработки архитектуры процессора. – PhilDW