![]() |
1
80
检查已安装的Office版本的一种方法是检查
例如,如果要检查是否安装了Word 2007,则应检查是否存在以下注册表项:
此条目包含可执行文件的路径。
Office 97 - 7.0 Office 98 - 8.0 Office 2000 - 9.0 Office XP - 10.0 Office 2003 - 11.0 Office 2007 - 12.0 Office 2010 - 14.0 (sic!) Office 2013 - 15.0 Office 2016 - 16.0 Office 2019 - 16.0 (sic!)
或者可以检查所有应用程序的公共根路径:
另外,微软不支持不同Office版本的并行安装。它们确实起了一定的作用,但可能会得到不希望的效果和不一致性。
从Office 2019开始,基于MSI的安装程序不再可用,单击运行是现在部署Office的唯一方法。随着对定期更新的Office 365的更改,Office的主要/次要版本号也不再更新(至少目前是这样)。这意味着即使对于office2019,注册表项中使用的值和
就目前而言,没有文件证明的方法来区分2016年办公室和2019年办公室。线索可能是winword.exe的文件版本;但是,对于修补过的Office 2016版本,此版本也会增加(请参阅下面@antonio的评论)。
|
![]() |
2
24
HKEY\U CLASSES\u ROOT\Word.Application\CurVer怎么样? |
![]() |
3
17
注意,office2010(=14.0)是存在64位版本的第一个Office。 |
![]() |
4
8
|
![]() |
5
6
|
![]() |
6
5
尽管这个问题早就有答案了,但我还是发现了一些与上述答案相关的有趣的事实。 正如Dirk提到的,从office365/2019开始,MS的版本控制似乎有一种奇怪的方式。通过查看可执行路径,您无法区分这三个路径(2016、2019、O365)。就像他自称的那样,把查看可执行文件的构建作为判断哪个是什么的手段,也不是很有效。
经过一番研究,我找到了一个可行的解决办法。解决方案位于注册表子项下
所以,我的逻辑如下:
案例1
案例2
案例3
提供了可能的productID here
为了区分这三个,我打开钥匙,看看是否失败了。如果打开失败,它的
坦率地说,我没有足够的时间在不同的环境下测试逻辑。所以请注意。 希望这对任何人都有帮助。 |
![]() |
7
2
我知道这个问题很久以前就有人问过,也有人回答过,但这个问题一直让我很忙,直到我做出这样的观察:
获取内部版本号(例如。
在64位Windows上,需要插入
在我的机器上,这提供了最初安装版本的版本信息。例如,对于Office2010,这些数字与列出的数字匹配
here
,它们与中报告的版本不同
|
![]() |
8
1
|
![]() |
9
0
无论是谁,这里是我的版本,检查Office 95-2019&O365,基于MSI和ClickAndRun在32位和64位系统上都受支持(未安装64位版本时回落到32位)。 是用Python 3.5编写的,但当然,为了用另一种语言编写自己的代码,您可以始终使用该逻辑:
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |