对于通过超链接打开Office的文档,服务器消息栏缺失

症状

在任何客户端操作系统上Office 2007 或 Office 2010 的用户单击指向 Office 文档的超链接,该文档位于 SharePoint Server 2010 文档库中。 超链接本身位于电子邮件Outlook中。 文档不是从 Office 客户端应用程序中的服务器打开,而是从本地计算机的临时 Internet 文件缓存在 Office 应用程序中打开。 因此,不被视为服务器文档。 用户看到以下症状:

  • Word:没有包含"编辑文档"按钮的服务器栏
  • Excel:没有包含"编辑工作簿"按钮的服务器栏
  • PowerPoint:没有具有"编辑演示文稿"按钮的服务器栏

或者,如果文档库需要签出:

  • Word:没有包含"签出文档"按钮的服务器栏
  • Excel:没有包含"签出工作簿"按钮的服务器栏
  • PowerPoint:没有带"签出演示文稿"按钮的服务器栏

此外,当文档在 SharePoint 应用程序中打开时,无法将该文档保存回Office网站。 用户可以保存更改,但更改将保存到"临时 Internet 文件"文件夹中的文件,而不是保存到SharePoint服务器。

此外,如果文档是工作流的一部分,则"编辑此任务"或"打开此任务"按钮以及与该工作流关联的任何其他按钮都将丢失,从而导致工作流无法启动。 通常,用户将通过电子邮件接收工作流任务,并且电子邮件将包含指向位于 SharePoint 文档的超链接。

这仅适用于较新的 Office 文件格式:.docx、.pptx 和 .xlsx。 旧版旧式文件格式不会发生Office:.doc、.ppt和.xls。 此外,仅在:

服务器是 SharePoint 2010 和

  • 当客户端计算机在 2007 Office运行时,.docx、.dotx、.xlsx 文档.pptx出现问题
  • 当客户端计算机在 2010 Office运行时,文档.pptx出现问题。

当服务器运行 Office SharePoint Server 2007 并且客户端计算机在 Office 2007 或 Office 2010 时,不会发生此问题。

注意:这仅在通过单击 Outlook 电子邮件中的超链接打开 Office 文档且 Office 文档位于 SharePoint 2010 文档库中时发生。 如果用户浏览到 SharePoint 2010 文档库,然后从该库打开文件,则不会发生此问题。

原因

SharePoint 2010 年实现了一项称为"许可或严格浏览器文件处理"的新安全功能。 从 Web 服务器传递的每种类型的文件都有一个关联的 MIME 类型 (也称为"内容类型") 该类型描述内容 (的性质,例如图像、文本、应用程序等 ) 。 Internet Explorer (IE) 具有 MIME 探查功能,该功能将尝试确定每个下载的资源的内容类型。 对于 Office 文件,如果在客户端计算机注册表的 MIME 数据库中找不到服务器发送的 Content-Type,IE 会"探查"MIME 内容类型,以查看客户端计算机的 MIME 数据库中是否有其他类似的 MIME 类型,并且会使用类似的 MIME 类型打开该文件。 但是,默认情况下,SharePoint 2010 中的每个 Web 应用程序都启用了严格浏览器文件处理,这将禁止监听 Content-Types,因此,如果在注册表的客户端 MIME 数据库中找不到服务器响应中发送的 Content-Type 的完全匹配,则文件将从客户端计算机的临时 Internet 文件打开,而不是从服务器打开。 MIME 探查还可能导致托管不受信任的内容的服务器出现安全问题。

例如:从指向位于 SharePoint 2010 文档库中的文档的超链接打开 .docx 文件时,响应中的 SharePoint 2010 服务器发送的内容类型为"vnd.ms-word.document.12"以及标题"X-Content-Type-Options: nosniff",如下所示:

HTTP/1.1 200 OK   
Content-Length: 108   
Date: Day, [Date and Time] GMT   
Content-Type: vnd.ms-word.document.12   
X-Content-Type-Options: nosniff   

由于此确切内容类型不存在于 Office 客户端计算机注册表的 MIME 区域,并且不会执行 MIME 探查,因此文档从临时 Internet 文件打开。

"详细信息"部分可能在下面提到其他原因。

解决方案

使用以下解决方案之一:

服务器端解决方法

消除从 SharePoint 2010 发送的无探查标头

  • 浏览到管理中心网站,单击"应用程序管理"下的"管理 Web 应用程序"。
  • 选择 Web 应用程序,然后单击功能区设置"General"菜单
  • 向下滚动到"浏览器文件处理",然后选择"许可"而不是"严格"。

注意:这会降低安全性。 浏览器文件处理指定是否向为 Web 浏览器提供的文档添加其他安全标头。 这些标头指定浏览器应针对某些类型的文件显示下载提示 (例如 .html) ,以及将服务器的指定 MIME 类型用于其他类型的文件。 "Permissive"指定不添加标头,这将提供更兼容的用户体验。 "严格"添加强制浏览器下载某些类型的文件的标头。 强制下载禁止自动执行参与者上载的 Web 内容,从而提高了服务器的安全性。

客户端解决方法

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 若要详细了解如何备份和还原注册表,请单击以下文章编号以查看 Microsoft 知识库中的文章:

322756如何在 Windows 中备份和还原注册表。

更新 Office 客户端计算机的注册表,以使用下列两种方法之一将所需内容类型安装到注册表的 MIME 数据库中。 此注册表更新适用于 Office 2007 或 Office 2010。

  1. 若要手动更新注册表,将以下内容复制到文本文件,使用 .reg 扩展名将其命名并运行它。

    Windows Registry Editor Version 5.00  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.12]  
    "Extension"=".xlsx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.presentation.12]  
    "Extension"=".pptx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-word.document.12]  
    "Extension"=".docx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-word.template.12]  
    "Extension"=".dotx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.template.12]  
    "Extension"=".potx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.show.macroEnabled.12]  
    "Extension"=".ppsm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.show.12]  
    "Extension"=".ppsx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.macroEnabled.12]  
    "Extension"=".pptm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/x-mspublisher]  
    "Extension"=".pub"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.binary.12]  
    "Extension"=".xlsb"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.macroEnabled.12]  
    "Extension"=".xlsm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.macroEnabledTemplate.12]  
    "Extension"=".xltm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.template.12]  
    "Extension"=".xltx"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-word.document.macroEnabled.12]  
    "Extension"=".docm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-word.template.macroEnabled.12]  
    "Extension"=".dotm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.template.macroEnabled.12]  
    "Extension"=".potm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-powerpoint.presentation.macroEnabled.12]  
    "Extension"=".pptm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.sheet.macroEnabled.12]  
    "Extension"=".xlsm"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/vnd.ms-excel.addin.12]  
    "Extension"=".xlam"  
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/onenote]  
    "Extension"=".one"  
    
  2. 若要将内容类型自动安装到注册表的 MIME Office,请转到"以下简单修复"部分。

更多信息

SharePoint文档可能由于本文Office其他原因而缺少工作流任务按钮。 其他一些原因可能是:

  • 在信任中心中禁用消息设置。

  • 你使用的是家庭版Office (商业版、家庭版和学生版) 零售渠道的其他产品的低价值许可证。 请参阅 全部关于审批工作流

  • 您打开的文档的工作流尚未启动。

  • 用户没有"编辑项目"权限。 他们可能需要"管理列表"权限,具体取决于工作流设置。

  • 首次单击存储在 SharePoint 网站的 Office 2010 文档的超链接时,由于其他原因,具有 [编辑文档 ] 或 [编辑工作簿 ] 或 [编辑演示文稿 ] 按钮栏的服务器只读栏可能丢失。 随后单击链接将呈现 Server 只读栏。

    Server 只读栏的屏幕截图

若要强制服务器只读栏在首次单击超链接时显示,请在客户端计算机中添加以下注册表项。

Key: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet   
Name: OptimisticBHO   
Type: DWORD   
Value: 1  

如果在启用 OptimisticBHO 键后,服务器栏仍不显示[编辑文档]按钮,请确保"Office 文档缓存处理程序"加载项在 Internet Explorer 的"工具">"管理加载项"中处于启用状态。

仍然需要帮助? 请转到 SharePoint 社区