部署 Office 解决方案

可以使用 ClickOnce 或 Windows Installer (MSI) 部署技术来部署 Office 解决方案。 Office 解决方案使用在 Visual Studio Tools for Office Runtime 和 .NET Framework 3.5 中实现的 ClickOnce。这与 Windows 窗体应用程序中提供的功能略有不同,Windows 窗体应用程序仅使用 .NET Framework 中的功能。ClickOnce 旨在简化解决方案部署和维护,因为 ClickOnce 解决方案是使用用户权限安装的。

**适用于:**本主题中的信息适用于 Microsoft Office 2010 和 2007 Microsoft Office system 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

如果使用 Windows Installer 来分发文件,仍须满足 Visual Studio Tools for Office Runtime和 ClickOnce 的安全要求,用户才能运行您的 Microsoft Office 解决方案。 有关 Office 解决方案的安全模型的更多信息,请参见 保护 Office 解决方案的安全

使用 Windows Installer 的主要优点是可将 Office 解决方案部署到所有用户,而不是仅部署到当前用户。 有关使用 Windows Installer 部署 Office 解决方案的更多信息,请参见使用 Windows Installer 部署 Office 解决方案

有关 ClickOnce 的一般信息,请参见 ClickOnce 安全和部署

部署进程包含以下注意事项:

  • Office 解决方案要求。

  • 部署 Office 解决方案。

  • 安装 Office 解决方案。

  • 更新 Office 解决方案。

  • 开发过程中的部署。

  • ClickOnce 缓存。

Office 解决方案要求

需要在计算机上安装一些组件,如 .NET Framework 3.5 和 Visual Studio Tools for Office Runtime,才可以运行 Microsoft Office 解决方案。 通常,可以与解决方案一起部署这些组件。 有关所需组件的列表,请参见Office 解决方案的部署系统必备如何:在最终用户计算机上安装系统必备组件以便运行 Office 解决方案

另外,需要考虑如何信任解决方案。 有关安全性的信息,请参见 保护 Office 解决方案的安全

部署 Office 解决方案

部署 Office 解决方案时,可以使用**“发布向导”“发布”**属性页来配置以下部署设置:

  • 版本号。

  • 系统必备。

  • 更新间隔。

在配置这些部署设置之后,Visual Studio 会将解决方案文件发布到发布位置。

如果要使用 CD 或可移动驱动器进行部署,请将**“安装位置”留空,并将“更新”**设置为“从不”。 有关更多信息,请参见如何:使用 ClickOnce 部署 Office 解决方案发布 Office 解决方案

安装 Office 解决方案

在将解决方案复制到安装位置后,最终用户可以下载并安装此解决方案。 可以采用以下几种不同的方式安装解决方案:运行安装程序、打开部署清单(.vsto 文件)或打开文档。 有关更多信息,请参见如何:安装 ClickOnce Office 解决方案如何:卸载 ClickOnce Office 解决方案

如果用户将通过打开部署清单来安装解决方案,则可能必须将 IIS 服务器配置为识别 .vsto MIME 类型。 有关更多信息,请参见如何:为 Office 解决方案部署准备 IIS

高级部署

如果要为 Office 解决方案创建自定义安装程序,可以直接运行 Office 解决方案安装程序 (VSTOInstaller.exe)。 有关更多信息,请参见自定义 Office 解决方案安装

还可以将文档级项目和应用程序级项目部署到单个程序包中,并可将组合的解决方案以一个组的形式进行安装和卸载。 例如,假如您的公司为 Contoso Software Company,您公司开发了一个 Outlook 外接程序和一个 Excel 工作表,则您可以将它们作为 Contoso Office 解决方案通过 Windows XP 中的**“添加/删除程序”或 Windows Vista 中的“程序和功能”**一并进行安装和卸载。 有关更多信息,请参见演练:在 .NET Framework 4 的单个 ClickOnce 安装程序中部署多个 Office 解决方案

如果在安装后需要执行其他操作,可以在称为“部署后操作”的过程中对安装进行自定义。 例如,可以将文档或工作簿复制到最终用户计算机上,创建额外的注册表项,或修改配置文件。 有关更多信息,请参见演练:在 ClickOnce 安装后将文档复制到最终用户计算机

更新 Office 解决方案

可以将解决方案配置为按指定的间隔检查更新并自动安装更新。 自动更新的默认设置为每七天更新一次。 在设置该间隔并安装解决方案之后,除非安装更新,否则无法更改该间隔。 如果用户希望在定期更新间隔之外的时间强制进行更新,则可以手动更新 Office 解决方案。

可以使用**“发布向导”**部署更新。 **“发布向导”**生成一个新应用程序清单并将解决方案文件复制到与早期版本相同的发布位置。 更新是可选的,用户可以在下载阶段取消任何解决方案更新,而且取消之后仍能运行外接程序。

发布操作还会更新部署清单以指向新版本解决方案的位置。 当最终用户的已安装解决方案按指定间隔检查更新时,将下载并安装最近部署的版本。 通过在部署位置更新清单和解决方案文件,您可以更新解决方案的版本。 有关更多信息,请参见如何:更新已部署的 Office 解决方案

若要回滚到 Office 解决方案的先前版本,请参见如何:将 ClickOnce Office 解决方案回滚至早期版本

如果发布位置已更改,则可以在安装程序中更改路径,而不用返回到 Visual Studio 以使用项目设计器的**“发布向导”“发布”**页更改路径。 有关更多信息,请参见如何:更改 Office 解决方案的安装路径

您可以手动编辑 Office 解决方案的应用程序清单和部署清单。 应用程序清单和部署清单在使用清单生成和编辑工具 (mage.exe) 编辑后,必须重新签名。 有关更多信息,请参见如何:更改部署属性

开发过程中的部署

如果通过在开发计算机上发布和安装解决方案来测试应用程序级外接程序,则在重新发布或进行更多代码更改并通过按 F5 重新测试之前,请卸载解决方案。 安装发布的解决方案时,会将外接程序的程序集安装到 ClickOnce 缓存中。 安装程序还会创建注册表项,以便 Office 应用程序可以找到并加载程序集。 由于重新生成解决方案的过程会更新注册表项,因此,必须在发布或运行第二个版本之前卸载第一个版本。

若要测试开发计算机上的部署,请创建另一个用户帐户来安装和测试应用程序级外接程序。

如果您开发了多个 Office 解决方案,则所有的 Office 外接程序都将运行,因为生成将被视为安装。 建议您在关闭解决方案之前,运行**“生成”菜单上的“清理解决方案”**命令。

ClickOnce 缓存

ClickOnce Office 解决方案安装到 ClickOnce 应用程序缓存或全局程序集缓存 (GAC)。ClickOnce 缓存是一系列包含所有解决方案文件的隐藏目录,其中包括程序集、配置文件、应用程序和用户设置以及数据目录。 ClickOnce Office 解决方案与 Windows 窗体 ClickOnce 应用程序使用相同的缓存。 使用 ClickOnce 缓存时可以打开指向其他 Internet 或网络位置的链接,且缓存的解决方案也可以在脱机模式下运行。对于文档级自定义项,文档将不安装到 ClickOnce 缓存中,它可以位于用户计算机或网络文件共享上。 有关 ClickOnce 缓存的更多信息,请参见 ClickOnce 缓存概述

您还可以将程序集存储到 GAC 中。 如果在每次安装后 Office 解决方案还须执行部署后操作 (PDA),可以将 PDA 存储到 GAC 中。 例如,可将安装每个 Visio 模板后必须运行的部署后操作存储在 GAC 中。

更新解决方案时的数据迁移

在更新过程中,Office 解决方案将本地缓存数据从一个版本迁移到下一个版本。

如果在更新过程中,您运行了早期版本解决方案的实例,那么,对该实例中的缓存数据进行的任何更改都不会迁移到新版本中。 为了确保正确地迁移数据,请在更新之前关闭解决方案的所有实例。

数据文件

带 .xml、.mdb 和 .mdf 扩展名的文件将自动复制到应用程序数据目录。 您不能使用**“应用程序文件”**对话框配置这些数据文件。 若要定位数据目录,请使用 DataDirectory 属性。 有关更多信息,请参见 在 ClickOnce 应用程序中访问本地数据和远程数据

若要通过反射在不同目录中查找文件,请调用 GetExecutingAssembly 方法,然后使用 CodeBaseEscapedCodeBase 属性来获取目录路径。 然后,您可以使用完全限定路径来查找文件。

请参见

概念

准备计算机以运行或承载 Office 解决方案

Office 解决方案部署疑难解答

其他资源

保护 Office 解决方案的安全

部署概述(Visual Studio 中的 Office 开发)

更新 Office 解决方案