小编Ben*_*der的帖子

将PIA部署到Office的混合版本

您好,我一直在理解为MS Office部署主互操作程序集(PIA)的一些复杂性.我在VS 2008中使用纯com技术构建了Visual Studio Com Add-IN(不是VSTO,请参阅下面的内容以获取更多信息),它引用了2003主互操作程序集,但加载项可以在2003,2007或2010现在使用办公机器.因为我从来不知道客户是使用2003,2007还是2010,所以我不能简单地部署一个PIA版本作为先决条件(除非我做了3个我不想做的安装程序).现在,我的理解是,当你按照这里的步骤要将2003和2007 PIA添加到Visual Studio(2008)安装程序包中显示的先决条件列表,先决条件足够聪明,可以确定您要定位的客户端上运行的是哪个Office版本.因此,如果要选择2003主互操作程序集和2007主要iterop程序集作为先决条件,那么当它安装在具有2003的计算机上时,它应该足够智能,只有在这台计算机上缺少这些PIA时才尝试添加2003 PIA.如果这是一台2007 Office机器,那么它只会安装2007 PIA(而不是尝试安装2003 PIA).

问题1是正确的理解(前提条件包是智能的,只能根据Office的版本安装它需要的东西吗?)

问题2是否有办法让2010 PIA显示在VS 2008的先决条件列表中,如2003和2007呢?我不想将此项目升级到VS 2010 b/c它现在被认为是一个遗留应用程序,来自世界各地的许多客户使用它.

问题3即使实际程序集引用了2003主要的interops,我现在也不会将这些interops与加载项一起部署到安装位置.相反,我假设如果我能安装正确的PIA,那么在安装路径中我不需要这个,因为PIA将在GAC中.但是,一种可能的方法可能只是在安装路径中包含引用的2003程序集(在我的例子中是excel和word),而不用担心PIA.我怀疑这可能适用于2003年的机器,但可能不会在2007年和2010年的机器上运行后者,即使在程序集的安装路径中运行时发现2003引用的interop,我想如果没有GAC中的Policy.11.0.Microsoft.Office.Interop.Excel/Word(等),然后2007年和2010年可能不知道如何处理11.0(2003)interops(因为我认为Policy.11.0.Microsoft.Office.Interop文件将2003 interops的请求重定向到2007或2010).有什么想法吗?

问题4: Framework 2.0应用程序Office加载项和Office 2003存在一个众所周知的错误,即加载项无法加载.KB907417又称KB908002解决了这个问题.如果您在3.0或3.5框架上开发(并使3.0或3.5成为先决条件),那么任何人都知道这个KB是否必要,因为这个问题特定于框架2.0?或者KB仍然需要部署b/c它的office 2003是问题而不是框架的版本?

正如您在3个问题中所说,我想确定的是我们是否可以通过VS设置实用程序构建一个单独的安装程序.如果PIA可以使用一个安装程序完成,但上面的KB是障碍(也许答案会回来,即使在3.0或3.5框架2003客户将需要KB),那么一个安装程序的路径可能只是制作KB是一个全面的先决条件,并将其安装在2007或2010机器上,尽管它们在技术上并不需要它们.关于该选项的任何想法也将受到赞赏.最后,我知道为excel或word编写一个manged Com Add-IN现在通常使用VSTO而不是纯托管框架代码完成,但是目前这不是将遗留应用程序更改为此方向的选项.另据报道4.

deployment ms-office office-pia

6
推荐指数
1
解决办法
1061
查看次数

标签 统计

deployment ×1

ms-office ×1

office-pia ×1