Deployment 将PIA部署到Office的混合版本

Deployment 将PIA部署到Office的混合版本,deployment,ms-office,office-pia,Deployment,Ms Office,Office Pia,您好,我一直在为MS Office理解主互操作程序集(PIA)的部署而努力解决一些复杂问题。我有一个基于纯Com技术的VS2008内置的Visual Studio Com外接程序(不是VS,更多信息请参见本文底部),它引用了2003主互操作程序集,但该外接程序可能会在2003、2007或现在的2010办公机器上使用。因为我不知道客户是否会使用2003、2007或2010,所以我不能简单地部署一个PIA版本作为先决条件(除非我制作了3个安装程序,我不想这样做)。现在,我的理解是,当您按照步骤将20

您好,我一直在为MS Office理解主互操作程序集(PIA)的部署而努力解决一些复杂问题。我有一个基于纯Com技术的VS2008内置的Visual Studio Com外接程序(不是VS,更多信息请参见本文底部),它引用了2003主互操作程序集,但该外接程序可能会在2003、2007或现在的2010办公机器上使用。因为我不知道客户是否会使用2003、2007或2010,所以我不能简单地部署一个PIA版本作为先决条件(除非我制作了3个安装程序,我不想这样做)。现在,我的理解是,当您按照步骤将2003和2007 PIA添加到Visual Studio(2008)安装程序包中显示的先决条件列表中时,先决条件足够智能,可以确定目标客户机上运行的是哪个office版本。因此,如果您选择2003主互操作程序集和2007主iterop程序集作为先决条件,那么当此程序集安装在具有2003的计算机上时,它应该足够智能,如果此计算机上缺少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主互操作,但我目前没有将这些互操作与外接程序一起部署到安装位置。相反,我假设,如果我可以安装正确的PIA,那么我不需要在安装路径中显示它,因为PIA将位于GAC中。但是,一种可能的方法是只包含引用的2003程序集(在我的例子中是excel和word)在安装路径中,不必担心PIA。我怀疑这会在2003台机器上起作用,但在2007和2010台机器上可能不起作用。b/c在后者上,即使在运行时在程序集的安装路径中找到引用的2003互操作,我想如果没有策略的话。11.0.Microsoft.Office.Interop.Excel/Word(etc)在GAC中,2007年和2010年可能不知道如何处理11.0(2003)互操作(我认为Policy.11.0.Microsoft.Office.Interop文件会将2003年互操作的请求重定向到2007年或2010年)。对此有何想法

问题4:框架2.0应用程序Office加载项和Office 2003中存在一个众所周知的错误,加载项无法加载。KB907417又名KB908002解决了这个问题。如果您在3.0或3.5框架上开发(并将3.0或3.5作为先决条件),有人知道这个知识库是否必要吗因为这个问题是框架2.0特有的?还是知识库仍然需要b/c部署?问题出在office 2003上,而不是框架的版本


从我的3个问题可以看出,我试图确定的是我们是否可以通过VS安装实用程序构建一个安装程序。如果PIA可以用一个安装程序完成,但上面的知识库是障碍(因为答案可能会回来,即使在3.0或3.5 framework 2003上,客户也需要知识库)那么,可能一个安装程序的路径就是把KB作为一个先决条件,安装在2007或2010年的机器上,尽管他们在技术上并不需要它们。对这个选项的任何想法都将不胜感激。最后,我知道为excel或word编写一个有管理的Com外接程序现在通常是用VSTO而不是Windows来完成的纯托管框架代码,但这不是当前将旧版应用程序更改为此方向的选项。此外,据报道,现在可以使用4.0框架部署外接程序,而无需将任何PIA作为先决条件,但同样,这现在不是一个可行的选项。

代码是否使用任何Office 2007+方法或类?如果没有,请说明你确定你不能在所有情况下都使用2003年的PIA吗?以后的应用程序应该向后兼容(支持相同的API),所以你需要更新PIA的唯一原因是如果你需要访问2007年或更高版本之前添加的某些功能,我想

您可能想看看,它承诺为所有版本安装一个,并且非常容易使用

从我的3个问题可以看出,我想确定的是,我们是否可以通过VS setup实用程序构建一个安装程序

不能。必须创建自定义安装程序打包程序(安装程序引导程序)

很多年前我使用HTMLGUI构建器,我认为今天将是更好的解决方案

检查PIA.msi安装程序是如何使用或.msi和.exe安装程序流检查windows安装程序日志来构造的

基于注册表检查、文件检查、已安装产品检查、windows版本、office版本,您可以创建是否应安装组件的条件

哦,我建议在没有先决条件的情况下制作插件安装程序,并使用自定义安装程序引导程序有条件地安装它们