Matt Sigman

Hands-On Software Leader

Matt Sigman - Hands-On Software Leader

SSRS print icon not appearing in Internet Explorer 11 (Not able to print reports from IE11)

Products involved

  • SQL Server Reporting Services 2012
  • .NET Framework 4.5
  • Internet Explorer 11

Summary

Due to the new user agent string that IE 11 sends, SSRS no longer correctly identifies that browser as among the “whitelisted” browsers to enable the print icon/functionality when viewing SSRS reports. The print icon simply disappears. Enabling Compatibility View restores the print icon, but this is not a workable solution.

You can confirm this is the case by navigating to a report within a page, then pressing F12 to go into the Developer Tools, then go to the Emulation tab (last tab in the list), and change the User Agent String to Internet Explorer 10. The page will refresh and you should see the SSRS print icon re-appear.  This will confirm you are experiencing the issue described in this post.

Solution

UPDATE: I’ve been in touch with Microsoft on the issue, and they confirmed it as a known issue for .NET 4.5 and below.  There is a patch included in the .NET 4.5.1 framework update available here that should resolve it: http://www.microsoft.com/en-us/download/details.aspx?id=40773

The contact I worked with at Microsoft to troubleshoot this issue informed me that he has made a blog post about the experience.  You can review it here for additional info: MSDN Blog.  Bottom line: Install the .NET 4.5.1 update and the issue will go away.

Original Workaround (If you can’t install 4.5.1 update)

What happens is since IE11 masquerades as Mozilla, the SSRS control hides the print icon because SSRS is set up to only permit printing from Internet Explorer.  This workaround will allow .NET/SSRS to correctly detect IE11 and Internet Explorer, and therefore render the print icon.

To trick .NET into believing that IE11 is in fact IE10, create a new Browser file in the App_Browsers folder in the root of your solution.  Paste the following text in the file and then run.  The issue should be solved.

Code to be pasted into browser file:

<browsers>
<browser id="IE11Preview" parentID="Mozilla">
<identification>
<userAgent match="Trident/(?'layoutVersion'\d+).*rv:(?'revision'(?'major'\d+)(\.(?'minor'\d+)?))" />
<userAgent nonMatch="MSIE" />
<userAgent nonMatch="IEMobile" />
</identification>
<capabilities>
<capability name="browser" value="IE" />
<capability name="layoutEngine" value="Trident" />
<capability name="layoutEngineVersion" value="${layoutVersion}" />
<capability name="extra" value="${extra}" />
<capability name="isColor" value="true" />
<capability name="majorversion" value="${major}" />
<capability name="minorversion" value="${minor}" />
<capability name="screenBitDepth" value="8" />
<capability name="type" value="IE${major}" />
<capability name="version" value="${version}" />
<capability name="isColor" value="true" />
<capability name="screenBitDepth" value="8" />
<capability name="ecmascriptversion" value="3.0" />
<capability name="jscriptversion" value="6.0" />
<capability name="javascript" value="true" />
<capability name="javascriptversion" value="1.5" />
<capability name="w3cdomversion" value="1.0" />
<capability name="ExchangeOmaSupported" value="true" />
<capability name="activexcontrols" value="true" />
<capability name="backgroundsounds" value="true" />
<capability name="cookies" value="true" />
<capability name="frames" value="true" />
<capability name="javaapplets" value="true" />
<capability name="supportsCallback" value="true" />
<capability name="supportsFileUpload" value="true" />
<capability name="supportsMultilineTextBoxDisplay" value="true" />
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
<capability name="supportsVCard" value="true" />
<capability name="supportsXmlHttp" value="true" />
<capability name="tables" value="true" />
<capability name="supportsAccessKeyAttribute" value="true" />
<capability name="preferredRenderingType" value="html5" />
<capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
<capability name="vbscript" value="true" />
</capabilities>
</browser>
</browsers>

Category: .NET
  • aji says:

    Hai,

    I did the following steps as you explained above.i can’t install 4.5.1 update,so create a new Browser file in the App_Browsers folder in the root of your solution. Paste the following text in the file and then run. but
    The issue still exist.

    February 28, 2014 at 7:00 AM
    • Shiv says:

      hi,
      we performed all these steps.Any file or blank browser files in app_browsers folder makes print option disappears from SSRS reports.Any help?

      January 20, 2015 at 4:06 AM
  • Matthew Sigman says:

    Hi Shiv,

    I recommend you install the .NET 4.5.1 update (link below). I’ve been in touch with Microsoft on the issue, and they confirmed it as a known issue for .NET 4.5 and below. There is a patch included in the .NET 4.5.1 framework update available here that should resolve it: http://www.microsoft.com/en-us/download/details.aspx?id=40773

    Matt

    January 20, 2015 at 10:03 AM
  • Yousif Hozail says:

    Adding the website to the compatibility view setting will enable the print icon on reports.

    August 27, 2015 at 3:01 PM

Your email address will not be published. Required fields are marked *

*