我的Microsoft Office 2013安装具有我需要以编程方式获取的ApplicationId值
(0ff1ce15-a989-479d-af46-f275c6370663
。对于MS Office 2010安装,它是59a52881-a989-479d-af46-f275c6370663
)
所以最终我有两个问题:
提前谢谢。
答案 0 :(得分:0)
正在寻找另一个答案,以为我会回复,是的,它们在不同的机器上是相同的,虽然每个办公室版本都会拥有它自己的唯一ID,如你所知。
我正在使用c#并使用WMI查询来查找SoftwareLicensingProduct类中的详细信息,尽管它也可以在OfficeSoftwareProtectionProduct中找到,下面是我的查询
"SELECT ID, ApplicationId, PartialProductKey, Name, ProductKeyID FROM SoftwareLicensingProduct WHERE ApplicationId = '" + sApplicationId+"' AND PartialProductKey <> NULL"
我之前运行的代码标识了工作站上的office版本,该查询的结果将设置相关的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;
}
我知道我可以进一步自动化这个并从WMI查询中提取ApplicationID但是还没有完成。
不确定这是否有帮助?
百里