Ms office 如何在c#中获取所有已安装的Ms Office实例(Word、Excel、Power Point)?
我正在处理Win forms应用程序。在我的应用程序中,用户将能够从我的应用程序中启动不同版本的MS office软件(Word(2010、2013)、Excel(2010、2013)、Power point(2010、2013)) 我尝试过的: 我使用过Microsoft.Office.Interop.Word.Application,下面是示例Ms office 如何在c#中获取所有已安装的Ms Office实例(Word、Excel、Power Point)?,ms-office,Ms Office,我正在处理Win forms应用程序。在我的应用程序中,用户将能够从我的应用程序中启动不同版本的MS office软件(Word(2010、2013)、Excel(2010、2013)、Power point(2010、2013)) 我尝试过的: 我使用过Microsoft.Office.Interop.Word.Application,下面是示例 Microsoft.Office.Interop.Word.Application appVersion = new Microsoft.Offic
Microsoft.Office.Interop.Word.Application appVersion = new Microsoft.Office.Interop.Word.Application();
string version = appVersion.Version.ToString();
但问题是,它只返回一个设置为默认值的版本,我需要系统中安装的所有Ms word实例
问题:
如何在c#中获取所有已安装的Ms Office实例(Word、Excel、Power Point)?使用您的解决方案,您只能获取最后安装的实例。 这是因为最后注册的COM对象将进行应答 最后一个存储在此注册表项中: HKEY_CLASSES_ROOT\Word.Application 在这些键处,至少有一个指向对象的文件夹“CLSID” 所有office版本都具有相同的名称和类id。 通过COM系统查找它们是一个问题 我认为使用or通过office升级代码查询windows安装程序更优雅 这将返回自office 2000或更高版本以来安装或发布的所有相关产品(按需安装) 您可以在其中查询安装状态和安装文件夹