通过超链接打开的 Office 文档缺少服务器消息栏
2021/4/9
适用于:
SharePoint Foundation 2010, SharePoint Server 2010, Office Professional 2010, Office Professional Plus 2010, Office Standard 2010
本文内容
症状
在任何客户端操作系统上,Office 2007 或 Office 2010 的用户单击指向位于 SharePoint Server 2010 文档库中的 Office 文档的超链接。 超链接本身位于 Outlook 电子邮件中。 文档从本地计算机的临时 Internet 文件缓存中打开,而不是从 Office 客户端应用程序中的服务器打开文档。 因此,不被视为服务器文档。 用户看到以下症状:
Word:没有包含"编辑文档"按钮的服务器栏
Excel:没有包含"编辑工作簿"按钮的服务器栏
PowerPoint:没有具有"编辑演示文稿"按钮的服务器栏
或者,如果文档库需要签出:
Word:没有包含"签出文档"按钮的服务器栏
Excel:没有包含"签出工作簿"按钮的服务器栏
PowerPoint:没有带"签出演示文稿"按钮的服务器栏
此外,文档在 Office 应用程序中打开时无法保存回 SharePoint 网站。 用户也许能够保存更改,但更改将保存到"临时 Internet 文件"文件夹中的文件,而不是返回到 SharePoint 服务器。
此外,如果文档是工作流的一部分,则"编辑此任务"或"打开此任务"按钮以及与该工作流关联的任何其他按钮都将丢失,从而导致工作流无法启动。 通常,用户将通过电子邮件接收工作流任务,并且电子邮件将包含指向 SharePoint 服务器上文档的超链接。
这仅适用于较新的 Office 文件格式:.docx、.pptx 和 .xlsx。 旧版 Office 文件格式不会出现这种情况:.doc、.ppt 和 .xls。 此外,仅在:
服务器是 SharePoint Server 2010 和
当客户端计算机运行 Office 2007 时,.docx、.dotx、.xlsx 和 .pptx 文档出现问题。
或
当客户端计算机运行 Office 2010 时,.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 数据库中找不到服务器发送的内容类型,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 应用程序,然后单击功能区中的"一般设置"
向下滚动到"浏览器文件处理",然后选择"许可"而不是"严格"。
注意:这会降低安全性。 浏览器文件处理指定是否向为 Web 浏览器提供的文档添加其他安全标头。 这些标头指定浏览器应针对某些类型的文件显示下载提示 (例如 .html) ,以及将服务器指定的 MIME 类型用于其他类型的文件。 "Permissive"指定不添加标头,这将提供更兼容的用户体验。 "严格"添加强制浏览器下载某些类型的文件的标头。 强制下载禁止自动执行参与者上载的 Web 内容,从而提高了服务器的安全性。
客户端解决方法
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 若要详细了解如何备份和还原注册表,请单击以下文章编号以查看 Microsoft 知识库中的文章:
322756 如何在 Windows 中备份和还原注册表。
更新 Office 客户端计算机的注册表,以使用下列两种方法之一将所需内容类型安装到注册表的 MIME 数据库中。 此注册表更新适用于 Office 2007 或 Office 2010。
若要手动更新注册表,将以下内容复制到文本文件,使用 .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"
若要在 Office 计算机上自动将内容类型安装到注册表的 MIME 数据库中,请转到"以下简单修复"部分。
更多信息
由于本文中所述的其他原因,Office 文档中可能缺少 SharePoint 工作流任务按钮。 其他一些原因可能是:
信任中心设置中禁用消息栏。
你使用的是 Office (Home and Business、Home and Student) 或零售渠道的其他产品的低价值许可证。 请参阅 全部关于审批工作流。
您打开的文档的工作流尚未启动。
用户没有"编辑项目"权限。 他们可能需要"管理列表"权限,具体取决于工作流设置。
首次单击 SharePoint 网站上存储的 Office 2010 文档的超链接时,由于其他原因,具有 [编辑文档 ] 或 [编辑工作簿 ] 或 [编辑演示文稿 ] 按钮栏的服务器只读栏可能丢失。 随后单击链接将呈现 Server 只读栏。
若要强制服务器只读栏在首次单击超链接时显示,请在客户端计算机中添加以下注册表项。
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet
Name: OptimisticBHO
Type: DWORD
Value: 1
如果在启用 OptimisticBHO 键后,服务器栏仍不显示 [编辑文档] 按钮,请确保在 Internet Explorer 的"工具">"管理加载项"中启用"Office 文档缓存处理程序"加载项。