Partager via


Configure SharePoint Server to Open Office Documents in Client Application by Default

[Author: Leo Sun & Fish Ge, Office/Project Support Team, Microsoft Asia Pacific Global Support Center ]

[???: https://blogs.technet.com/b/officeasia/archive/2012/05/08/sharepoint-server-office.aspx ]

 

Office Web Apps is a featured companion to SharePoint Server which allows Office documents to be opened and edited in browser. Hence on a machine without Office application installed, user can still access Office dcoument in browser and get similar experience of client application. This is convenient for smart phone and tablet.

When you install Office Web Apps, Office documents stored on SharePoint will open in browser directly. However some people wish they could still open the documents in Office client application by default.

Below is the solution to configure SharePoint Server to open Office documents in client application by default.

Regular method

Make sure Client Integration feature is enabled on SharePoint

1. In SharePoint Central Administration site, click Application Management->Manage Web Applications, select the web application for the site.

2. Click Authentication Providers, select default zone, and select Yes for "Enable Client Integration?"

 

Configure setting to open Office document in client application:

  1. In SharePoint Central Administration site, click Site Actions->Site Settings
  2. Under Site Collection Administration, click Site collection features
  3. For "Open Documents in Client Applications by Default", click Activate
  4. For "Office Web Apps”, click Deactivate

 

After modification above, every time you click drop-down menu next to Office document in Document Library, you will find "View in Browser" and "Edit in Browser" options not present, and only "Edit in Microsoft Word" is present

What if regular method doesn't work?

Well, we first need to know the theory behind the "regular method"

Log on to SharePoint Application Server, and navigate to this path: "C:\Program Files\Common Files\Microsoft Shared\Web Server Extension\14\Template\XML" (this is default path) , and find below XML files:

serverfilesword.xml

serverfilespowerpoint.xml

serverfileexcelserver.xml

 

These files will tell SharePoint that when user opens Office document, which Office Web Apps service should serve the request. We can open these XML files in notepad. Take serverfilespowerpoint.xml as example (handling PowerPoint files):

<?xml version="1.0" encoding="utf-8" ?>

<!-- Copyright (c) Microsoft Corporation. All rights reserved. -->

<ServerFiles>

    <Mapping FileExtension="pptx" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="potx" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="ppsx" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="pptm" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="potm" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="ppsm" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="ppt" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="pot" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="pps" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" NoGetRedirect="TRUE"/>

    <Mapping FileExtension="odp" RedirectUrlTemplate= "/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId=|0" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" NoGetRedirect ="TRUE"/>

</ServerFiles>

 

The XML tag shows that requests to files types specified in FileExtension section will be redirected to PowerPoint.aspx and opened withiin Office Web Apps. When "regular method" doesn't work (document opened in browser), it means redirection in this XML is still in effect. There're several possible reasons:

  1. Web application for the document library is corrupt
  2. There is permission issue to turn off Office Web Apps
  3. Network issue

To cancel the request redirection, we can comment out all tags within<ServerFiles>…</ServerFiles> by using <!--->, or rename the XML file.

Common issue of "regular method"

In order to disable Office Web Apps, many user will disable Word Viewing  Service and PowerPoint Viewing Service from Manage Service Application.

In this way, when user still wish to view the document in browser, the user will recieve error:

"Word Web App cannot open this document for viewing because of an unexpected error. To view this document, open it in Microsoft Word."

References

Configure the default open behavior for browser-enabled documents (Office Web Apps)

https://technet.microsoft.com/en-us/library/ee837425(v=office.14).aspx

 

Change how to open a document in a library with one click

https://office.microsoft.com/en-us/sharepoint-server-help/change-how-to-open-a-document-in-a-library-with-one-click-HA101729873.aspx

Comments

  • Anonymous
    January 01, 2003
    Hello...i am facing same issue... Please let me know...solution.. RequestDispatcher.BeginProcessRequest() shouldn't throw System.InvalidOperationException: The load balancer is not provisioned. Verify the load balancer was provisioned successfully before retrieving endpoint addresses.     at Microsoft.SharePoint.SPServiceLoadBalancer.<get_EndpointAddresses>d__0.MoveNext()     at Microsoft.Office.Web.Environment.Sharepoint.SharepointServiceLoadBalancer.EnsureInitialization()     at Microsoft.Office.Web.Environment.Sharepoint.SharepointServiceLoadBalancer.GetLoadBalancedUri(String id)     at Microsoft.Office.Web.Environment.Sharepoint.SharepointServiceLoadBalancer.GetLoadBalancedUri(BaseDocument doc)     at Microsoft.Office.Web.Conversion.Viewing.RequestDispatcher.DispatchRequest(RenderRequest request, ServiceLoadBalancer balancer, Int32 retryCount)     at... 6110e212-5d22-4b44-a174-80da29573a34 Office Web Apps               Office Viewing Architecture   vjyq Assert   ... Microsoft.Office.Web.Conversion.Viewing.RequestDispatcher.BeginProcessRequest(RenderRequest request, ServiceLoadBalancer balancer, AsyncCallback callback, Object state)     at Microsoft.Office.Web.Conversion.Viewing.Client.DocumentViewer.BeginConvertDocument(RenderRequest request, ServiceLoadBalancer balancer, AsyncCallback callback, Object state) StackTrace:   at Microsoft.Office.Web.Common.Log.ShipAssertTag(UInt32 tag, Category category, Boolean condition, String formatString, Object[] data)     at Microsoft.Office.Web.Conversion.Viewing.Client.DocumentViewer.BeginConvertDocument(RenderRequest request, ServiceLoadBalancer balancer, AsyncCallback callback, Object state)     at Microsoft.Office.Web.Conversion.Viewing.Client.Librarian.DispatchRenderRequest(LibrarianGetItemInfo info)     at... 6110e212-5d22-4b44-a174-80da29573a34 Office Viewing Architecture   vjyq Assert   ... Microsoft.Office.Web.Conversion.Viewing.Client.Librarian.OnReceivedStoredData(IAsyncResult ar)     at Microsoft.Office.Web.Common.AsyncResult1.SetCompleted(T result, Exception e, Boolean completedSynchronously) &nbsp; &nbsp; at Microsoft.Office.Web.Conversion.Viewing.Client.ViewItemStore.SetCompleted(ItemRetrievalInfo info, ItemRetrievalStatus status) &nbsp; &nbsp; at Microsoft.Office.Web.Conversion.Viewing.Client.ViewItemStore.OnReceivedDocumentInfoFromMainCache(IAsyncResult ar) &nbsp; &nbsp; at Microsoft.Office.Web.Common.AsyncResult1.SetCompleted(T result, Exception e, Boolean completedSynchronously)     at Microsoft.Office.Web.Conversion.Storage.DocumentInfoCache.BeginRefreshDocumentInfo(BaseDocument baseDoc, OutputFormat outputFormat, AsyncCallback callback, Object state)     at Microsoft.Office.Web.Conversion.... Office Viewing Architecture   vjyq Assert   ...Viewing.Client.ViewItemStore.ReadMainCache(ItemRetrievalInfo info)     at Microsoft.Office.Web.Conversion.Viewing.Client.ViewItemStore.BeginGetItem(BaseDocument baseDoc, ViewItem item, ServiceLoadBalancer balancer, Stream outputStream, AsyncCallback callback, Object state)     at Thanks Krunal Jani

  • Anonymous
    August 28, 2013
    We have just recently migrated from 2007 to 2010. The server default is Open in Client and this works for almost everyone. The is however one Remote Desktop that IE 8 seems to be overriding this setting and trying to open .xlsx files in the browser. We are getting the following error - "Unable to process the request. Wait a few minutes and try performing this operation again" This seems to be related to IE as installed on that RDP as I can open the file without an issue in Firefox.

  • Anonymous
    October 22, 2013
    For your issue, "Unable to prcess the request", you need to Start Excel Services from the Central Admin. We had the same issue and I fixed it. If you need more information, let me know.

  • Anonymous
    October 25, 2013
    Hi Krunal, sorry for late response! I don't know how do you run into this error? The best way to proceed is raise this to the support organization around you and do troubleshooting, check repro steps, ULS log, etc.

  • Anonymous
    October 25, 2013
    Hi Jeff, have you tried Santheesh's suggestion? Does issue still occur?

  • Anonymous
    June 11, 2014
    Have you ensured that the owssupp.dll in office 2010 is allowed to be run by the user on IE? This will allow the file to be opened in the client rather than browser. IE 8 security settings may be blocking the active x control from running?

  • Anonymous
    August 23, 2014
    Hi Guys ,
    i am facing the the problem in office web server everything is working fine but word and powerpoint viewer service is missing in the services i googled and searched Microsoft Technet Blogs but i couldnt abale to find any solution for this . I have Installed Office webapp Server , Office web app Server Servicepack 1 and cumulative update for office webapps and language pack . Please if anybody has the solution please reply to this .

    Thanks......