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

Com 在客户端计算机上检测特定软件的版本,动态加载互操作程序集并使用,com,.net-assembly,Com,.net Assembly,在我的例子中,我需要两个软件来检测客户端计算机上的版本,加载必要的互操作程序集并使用它们: Microsoft Office(Excel) MapInfo专业版 原因是,当我在开发应用程序时从我的计算机添加引用时,客户端计算机可能没有该版本,因此应用程序在客户端的运行时失败(通过提供有关软件版本的错误)。例如,我使用MS Office 2010,但用户的计算机上有MS 2007;或者我使用MapInfo 11.5,但用户可能有MapInfo 8.5,等等 感谢您的帮助。访问注册表项:HKEY

在我的例子中,我需要两个软件来检测客户端计算机上的版本,加载必要的互操作程序集并使用它们:

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


感谢您的帮助。

访问注册表项:HKEY\U当前用户\软件\办公室

这里将有一个子文件夹,名为某个编号(如11.0、12.0…)。此编号对应于Microsoft Office软件包的版本。每个数字代表一个版本。名单如下:

  • 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:MicrosoftOffice95
  • 8.0:Microsoft Office 97
  • 9.0:MicrosoftOffice2000
  • 10.0:Microsoft Office XP
  • 11.0:MicrosoftOffice2003
  • 12.0:MicrosoftOffice2007
  • 13.0:Microsoft Office 2010
  • 14.0:Microsoft Office 2013

因此,通过这个数字可以检测到版本。这只是一个简单的方法。但是还有更简单更好的方法。

谢谢。现在我需要加载程序集并使用它。如果你对这一点了解得更深入,你能举个例子吗?