C # — Получить MS Office ApplicationID программно

Моя установка Microsoft Office 2013 имеет значение ApplicationId, которое мне нужно получить программно
(это 0ff1ce15-a989-479d-af46-f275c6370663, Для установки MS Office 2010 это 59a52881-a989-479d-af46-f275c6370663)
В итоге у меня есть 2 вопроса:

  1. Являются ли эти значения одинаковыми для одних и тех же версий MS Office на разных ПК?
  2. Как программно получить эти значения за 2007-2016 годы в C ++? (через автоматизацию или каким-либо другим способом).

Заранее спасибо.

0

Решение

искал другой ответ, поэтому думал, что я отвечу, да, они одинаковы на разных машинах, хотя у каждой офисной версии будет свой уникальный идентификатор, как вы знаете.

Я использовал c # и использовал WMI-запрос для поиска деталей в классе SoftwareLicensingProduct, хотя он также находится в OfficeSoftwareProtectionProduct ниже, мой запрос

"SELECT ID, ApplicationId, PartialProductKey, Name, ProductKeyID FROM SoftwareLicensingProduct  WHERE ApplicationId = '" + sApplicationId+"' AND PartialProductKey <> NULL"

У меня есть код, который выполняется до того, как идентифицирует версию офиса на рабочей станции, и в результате этого запроса будет установлен соответствующий ApplicationID

            if (sVersion == "2013")
{
sApplicationId = "Office 15 Application ID";

}
else if (sVersion == "2016")
{
sApplicationId = "Office 16 Application ID";
}

Чтобы получить версию Office, входящую в комплект поставки, вы можете либо проанализировать реестр, либо не уверены, сможете ли вы сделать это в C ++. Я запустил Word в скрытом режиме и получил версию приложения, а затем использовал оператор Case.

            switch (appVersion.Version.ToString())
{
case "15.0":
sVersion = "2013";
break;
case "16.0":
sVersion = "2016";
break;
case "14.0":
sVersion = "2010";
break;
default:
sVersion = "No Version detected!";
break;
}

Я знаю, что мог бы, вероятно, автоматизировать это дальше и извлечь ApplicationID из запроса WMI, но пока не дошел до этого.

Не уверен, что это поможет?

Барри

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]