C# 如何部署word功能区

C# 如何部署word功能区,c#,installshield,word-2007,word-2010,word-2013,C#,Installshield,Word 2007,Word 2010,Word 2013,嗨,我继承了一个word功能区项目。我需要创建一个安装程序,但首先我想手动安装它(即复制文件并在命令提示符下运行命令) 问题是我不知道如何将ribbon部署到另一台PC上。我只知道我在VS中创建了一个word ribbon,当我运行它时,word打开,ribbon出现 我需要能够部署在word 2007以后的32位和64位上 谢谢您可以通过在解决方案资源管理器中单击Visual Studio项目上的“发布”或通过来创建。我建议创建一个MSI来部署外接程序,这是Windows中使用最多的分发系统,

嗨,我继承了一个word功能区项目。我需要创建一个安装程序,但首先我想手动安装它(即复制文件并在命令提示符下运行命令)

问题是我不知道如何将ribbon部署到另一台PC上。我只知道我在VS中创建了一个word ribbon,当我运行它时,word打开,ribbon出现

我需要能够部署在word 2007以后的32位和64位上


谢谢

您可以通过在解决方案资源管理器中单击Visual Studio项目上的“发布”或通过来创建。我建议创建一个MSI来部署外接程序,这是Windows中使用最多的分发系统,它内置了对静默安装、修复、回滚和卸载的支持。因此,如果客户需要,您可以轻松地让他们通过Active Directory/GPO或SCCM部署它

当使用MSI部署外接程序时,基本上是将外接程序资源/文件复制到所需的安装文件夹中,并按照Patrick所述创建外接程序

我建议按用户安装加载项,即安装APPDATA文件夹下的文件和HKCU下的注册表项。每台机器安装需要用户的管理员权限(可能不是所有用户都有该权限),而且您还需要做更多的工作来查看在HKLM下将注册表项写入何处,因为这里有专用于32位应用程序的键“Wow6432Node”,因此,根据WIndows和Office的版本,您需要查看是否需要在“HKLM\Software\Office…”下或“HKLM\Sofware\Wow6432Node\Office…”下编写。当您在HKCU下按用户安装时,此问题会在HKCU\Software下消失,因为没有注册表重定向,因此扩展将适用于所有32位和64位计算机/Office版本。此外,如果需要,按用户安装扩展将自动为用户提供在同一台计算机的不同帐户上安装不同版本的外接程序的可能性

非常重要的一点是,您应该在MSI for Word 2007中设置启动条件,以便未安装的用户也无法安装外接程序。所有工具创作工具都应该能够非常轻松地设置此启动条件

此外,您应该使用代码签名证书(从认证供应商处获得,如VeriSign、Thawtee等)对MSI和addin进行数字签名

要创建MSI包,您有多个选项,但基本上您可以使用任何能够创建MSI的工具,只要您正确创建注册表项。例如(我使用的工具)有一个很好的向导,它只会询问您的目标Office版本,询问您要安装的文件,然后自动为您处理其余的文件。您可以让它与VS集成,以便在需要时直接从VS解决方案构建MSI。至于启动条件,只需在高级安装程序GUI中单击一下即可,无需编写任何脚本