检测客户端计算机上的特定软件版本,动态加载互操作程序集并使用

时间:2012-12-17 04:59:50

标签: com .net-assembly

在我的情况下,我需要在客户端计算机上检测版本的2个软件,加载必要的互操作程序集并使用它们:

  • Microsoft Office(Excel)
  • MapInfo Professional

原因是,当我在开发应用程序时从我的计算机添加引用时,客户端计算机可能没有该版本,因此应用程序在运行时在客户端失败(通过提供有关软件版本的错误)。例如,我使用MS Office 2010,但用户在他/她的计算机上安装了MS 2007;或者我使用MapInfo 11.5但是用户可能有MapInfo 8.5等等......

谢谢你的到来。

1 个答案:

答案 0 :(得分:0)

访问注册表项: HKEY_CURRENT_USER \ Software \ Office

这里会有一个名为some number的子文件夹(例如11.0,12.0 ..)。此编号对应于Microsoft Office Package的版本。每个数字代表一个版本。清单::

  • 1.0:Microsoft Office for Windows 1.5
  • 2.0:Microsoft Office for Windows 1.6
  • 3.0:Microsoft Office for Windows 3.0
  • 4.0:Microsoft Office 4.0
  • 5.0:Microsoft Office 4.2 for Windows NT
  • 6.0:Microsoft Office 4.3
  • 7.0:Microsoft Office 95
  • 8.0:Microsoft Office 97
  • 9.0:Microsoft Office 2000
  • 10.0:Microsoft Office XP
  • 11.0:Microsoft Office 2003
  • 12.0:Microsoft Office 2007
  • 13.0:Microsoft Office 2010
  • 14.0:Microsoft Office 2013

因此通过此号码可以检测到版本。这只是一种简单的方法。但是可能会有更简单和更好的方式。