以编程方式,哪种方法可以获取已安装的Microsoft Office版本的名称?我已经尝试了所有可以找到的Powershell命令,VBScript和WMI查询。我已经仔细研究了注册表和文件系统,但找不到完美的方法来收集已安装的Office版本。
我能想到的最接近的方法是使用WMIC查询:
wmic product where "Name like '%Office%'" get name, version
不幸的是,这会返回各种各样的应用程序,即使经过更精细的过滤,也不会告诉我“ Office 16”是“ Pro”,“ Professional Plus”还是“ Office365”。
否则,注册表值位于
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Scenario\INSTALL\ProductstoAdd
它至少存在于2016版中,但不存在于较早的版本中。而且它本身不包含友好名称,因此需要进一步的脚本才能将数据转换ProPlusRetail.16_en-us_x-none
为“ Office 2016 Professional Plus”或O365BusinessRetail.16_en-us_x-none
“ Office 365 Business(2016)”
我希望有人可以在大型脚本中使用比许多if / else if / else if语句更简单的方法。
您可以在注册表中找到已安装的Microsoft Office的名称。该过程可以按照以下步骤自动进行:
检查
32位版本的注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
对于64位版本:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
如果密钥相匹配的产品ID模式之一,按照在Office产品代码GUID的编号方案的说明2016,2013,2010,2007,2003,XP,2000,然后阅读DisplayName
核心价值,这实际上是安装的名称办公室。
我还找到了健壮的Office库存扫描工具(ROISCAN),它可以对已安装的Microsoft Office版本执行完全完整的搜索。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句