我正在为 Office 2010 创建一个插件,并需要在安装时检测 Office 2010 PIA 是否已安装。
我已经为 2003 和 2007 做过这个工作,但是找不到 2010 年的 Component ID,请问有人知道吗?
谢谢, Ed
我正在为 Office 2010 创建一个插件,并需要在安装时检测 Office 2010 PIA 是否已安装。
我已经为 2003 和 2007 做过这个工作,但是找不到 2010 年的 Component ID,请问有人知道吗?
谢谢, Ed
在以下列表中搜索与您需要的Office组件相应的PIA(主要Interop Assembly)组件的组件ID:
{EA7564AC-C67D-4868-BE5C-26E4FC2223FF} Excel
{4153F732-D670-4E44-8AB7-500F2B576BDA} InfoPath
{1D844339-3DAE-413E-BC13-62D6A52816B2} Outlook
{EECBA6B8-3A62-44AD-99EB-8666265466F9} PowerPoint
{3EA123B5-6316-452E-9D51-A489E06E2347} Visio
{8B74A499-37F8-4DEA-B5A0-D72FC501CEFA} Word
{957A4EC0-E67B-4E86-A383-6AF7270B216A} Project
{B2279272-3FD2-434D-B94E-E4E0F8561AC4} Forms 2.0
{011B9112-EBB1-4A6C-86CB-C2FDC9EA7B0E} Graph
{7102C98C-EF47-4F04-A227-FE33650BF954} Smart Tag
{64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4} Office Shared
例如,如果您正在编写Word插件,则只需要检查具有GUID {8B74A499-37F8-4DEA-B5A0-D72FC501CEFA}的PIA。
从此处获取。
Microsoft最近已经单独发布了2010年的PIAs。可以在此处获取。
如果您需要支持Office 2013,则组件ID在此处Office 2013 PIA组件ID中有记录。
只需检查您的项目中对当编译一个针对.NET Framework 4的插件项目时,默认情况下将嵌入在插件程序集中引用的所有PIA类型的类型信息。运行时,使用此类型信息来解析对底层COM类型的调用,而不是依赖于PIAs中的类型信息。
Microsoft.Office.Interop.Excel
的引用是否具有正确的版本,并将EmbedInteropTypes
设置为true
即可。