Это должно привести к началу работы:
string condition = "Vendor LIKE 'Microsoft%' AND Name = 'Exchange'";
string[] selectedProperties = new string[] { "Version" };
SelectQuery query = new SelectQuery("Win32_Product", condition, selectedProperties);
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
using (ManagementObjectCollection products = searcher.Get())
foreach (ManagementObject product in products)
{
string version = (string) product["Version"];
// Do something with version...
}
Это ищет экземпляры Win32_Product
класса , где свойство Vendor
начинается с "Microsoft"
и Name
свойство "Exchange"
, и извлекает свойство Version
.У меня нет доступа к установке Exchange, чтобы узнать, какими будут эти значения.Еще лучше было бы, если бы вы могли определить, какое свойство ProductID
было бы для Exchange, поэтому вы можете фильтровать только на основе этого.
Обратите внимание, что не все установленные приложения возвращаются Win32_Product
(похоже,в основном приложения Microsoft и программы установки Windows).Итак, насколько я знаю, Exchange не является одним из этих приложений!