Я полагаю, что вам следует избегать таких явных проблем, как WMI и LINQ ... и вам, в конечном счете, придется получать больше информации по мере продвижения, ни один из которых не удовлетворен раздутыми apis и фреймворками.
Просто вызовите dll, которая вызывает и извлекает информацию о CPUID. C ++ / CLI или pinvoke будут делать и получать всю необходимую информацию о поставщике. Сначала нужно посмотреть, поддерживается ли инструкция (99% времени).
Чтобы быстро приступить к работе, проверьте сайт Intel на наличие образца wincpuid и извлеките фрагмент из cpuid.h оттуда. Есть только 2 поставщика, и один хорош с задержкой памяти, а другой нет (как нативный или управляемый код). Таким образом, у вас будут проблемы с Mono на других архитектурах и т. Д. (Кто не кстати). Что касается x64, вы уже знаете это или просто получаете corflags (он уже есть и убивает ваш жесткий диск вашего клиента с помощью дистрибутива .NET) ..
(http://software.intel.com/en-us/articles/api-detects-ia-32-and-x64-platform-cpu-characteristics/)