Office 解决方案部署疑难解答

本节包含了一些提示,可用于解决在部署 Office 解决方案时可能会遇到的一些常见问题。

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

使用事件查看器对 Office 解决方案进行疑难解答

安装或卸载 Office 解决方案时,可以使用 Windows 中的事件查看器来查看 Visual Studio Tools for Office Runtime捕获的错误消息。 可以使用事件记录器中的这些消息来解决安装和部署问题。 有关更多信息,请参见 Office 解决方案的事件日志

更改程序集名称引起冲突

如果在部署解决方案之后更改**“项目设计器”“应用程序”页中的“程序集名称”**值,发布工具会将安装包修改为包含一个 Setup.exe 文件和两个部署清单。 部署两个清单文件可能会导致下面的情况:

  • 如果最终用户一并安装这两个版本,应用程序将相应加载两个外接程序。

  • 如果外接程序是在程序集名称更改之前安装的,最终用户将永远接收不到更新。

为了避免出现这种情况,请不要在部署解决方案之后更改解决方案的**“程序集名称”**值。

检查更新耗时很长

Visual Studio 2010 Tools for Office Runtime提供一个注册表项,允许管理员设置用于下载清单和解决方案的超时值。 

设置超时值

  1. 在注册表中,导航到下面一项:

    HKEY_CURRENT_USER\Software\Microsoft\VSTA

  2. 在**“AddInTimeout”**子项中以毫秒为单位设置超时值。

    如果**“AddInTimeout”**子项不存在,以 DWORD 形式创建该子项。

无法更新或发布到网络文件共享

如果网络文件共享上的 Office 解决方案的 Setup.exe 文件在发布更新的过程中在某个进程中锁定,则该解决方案可能会在更新过程中显示误导性的消息。 该消息可能显示如下:“无法将‘setup.exe’添加到网站。 此网站中已存在文件‘setup.exe’。”

若要帮助防止文件锁定,可以将该网络文件共享对最终用户设置为只读。 但是,如果该网络文件共享中有文档,这些文档对最终用户也是只读的。

未安装 Microsoft Office 的系统必备组件

可以在安装程序包中添加 Microsoft .NET Framework、Visual Studio Tools for Office Runtime和 Microsoft Office 主互操作程序集,作为随 Office 解决方案部署的系统必备组件。 有关如何安装主互操作程序集的信息,请参见将计算机配置为开发 Office 解决方案如何:安装 Office 主互操作程序集

使用“Localhost”发布可能导致安装问题

使用“https://localhost”作为文档级解决方案的发布或安装位置时,**“发布向导”**不会将该字符串转换为真实的计算机名称。 这表示解决方案只能安装在开发计算机上。 若要让部署的解决方案在开发计算机上使用 IIS,可为所有 HTTP/HTTPS/FTP 位置使用完全限定的名称,而不是使用 localhost。

加载的是缓存的程序集而不是更新的程序集

当项目输出路径位于网络文件共享上时,Fusion(.NET Framework 程序集的加载程序)加载程序集的缓存副本,该程序集是使用强名称签名的,而且自定义项的程序集版本不会更改。 如果更新的程序集符合这些条件,则您在下次运行项目时将看不到更新,因为加载的是缓存的副本。

可以配置 Visual Studio,使得 Fusion 在每次运行项目时都下载程序集。

下载程序集而不是加载缓存的副本

  1. 在**“项目”菜单上,单击“项目名称 属性”**。

  2. 在**“应用程序”页上,单击“程序集信息”**。

  3. 在第一个**“程序集版本”**框中键入一个星号 (*)。

  4. 单击**“确定”**。

更改程序集版本后,可以继续使用强名称对程序集签名,并且 Fusion 将加载最新版本的自定义项。

文档级自定义项中的 XML 架构未注册

如果将 XML 架构附加到 2007 Microsoft Office system 的文档级项目中的文档中,该架构不会在用户的库中注册。 您必须单独创建一个安装程序文件来执行注册。 有关更多信息,请参见 文档级自定义项中的 XML 架构和数据

当 URI 包含非 US-ASCII 字符时安装失败

将 Office 解决方案发布到 HTTP/HTTPS/FTP 位置时,路径不能包含任何未出现在 US-ASCII 中的 Unicode 字符。 这样的字符可能导致安装程序中出现不一致的行为。 请为目标路径使用 US-ASCII 字符。

在开发计算机上发布和安装解决方案时,显示手动卸载的提示

在生成 Office 解决方案时,生成的版本会自动注册。 如果以前在开发计算机上发布和安装过同一解决方案,则在下次生成、重新生成或发布后,Visual Studio Tools for Office Runtime 会检测到发布的版本和生成的版本的安装路径是不同的。 错误消息会显示“由于已经安装了另一版本的自定义项且不能从该位置升级,无法安装该自定义项”。由于重新生成解决方案会更新注册表项,因此必须在发布、调试或运行第二个版本之前卸载第一个版本。

若要阻止出现该消息,请在开发计算机上创建另一个用户帐户来测试部署。 或者,可以在下次发布、调试或重新生成该解决方案之前从计算机上的已安装程序列表中卸载该版本。

安装解决方案时出现“未捕获的异常”或“未找到方法”错误

通过打开部署清单(.vsto 文件)、Office 应用程序、文档或工作簿来安装 Office 解决方案时,可能会看到下面的错误消息:

  • 未找到方法。

  • MissingMethodException。

  • 未捕获的异常。

若要防止这些错误消息出现,请通过运行安装程序来安装解决方案。

在不运行安装程序的情况下安装解决方案时,安装程序将不检查或安装系统必备组件。 安装程序将检查系统必备组件的正确版本,并根据需要进行安装。

在生成 Windows Installer 安装项目后外接程序的清单注册表项发生更改

有时候,在生成 Windows Installer 安装项目时,作为外接程序安装程序一部分的清单注册表项会从 .vsto 更改为 .dll.manifest。

若要解决此问题,请在不同的解决方案中创建安装项目,或者使用 CompanyName.AddinName 作为包含该外接程序名称的注册表项的值。

Office 解决方案的 ClickOnce 安装程序没有安装主互操作程序集

在运行 ClickOnce 为您的 Office 解决方案创建的安装程序时,Office 主互操作程序集 (PIA) 的安装程序仅在尚未安装任何 PIA 时才运行。

如果安装程序没有正确安装 PIA,则通过在安装目录中运行名为 o2007pia.msi 的安装程序文件来手动安装 PIA。

重新安装 Office 解决方案导致出现参数超出范围异常

当您重新安装 Office 解决方案时,可能会看到 ArgumentOutOfRangeException 异常及以下错误消息:“指定的参数已超出有效值的范围”。

如果安装位置 URL 的大小写不同,则会出现此错误。 例如,如果 Office 解决方案第一次是从 https://fabrikam.com/ExcelSolution.vsto 安装,而第二次是从 https://fabrikam.com/excelsolution.vsto 安装,则会出现此错误。

若要避免显示该消息,请在安装 Office 解决方案时使用相同的大小写。

请参见

概念

ClickOnce 部署疑难解答

其他资源

部署 Office 解决方案