What cause the problem is by default IIS 8 cann't find “crystalreportviewers13” directory, so we must do a custom configuration:
- Copy “aspnet_client” directory from “C:\inetpub\wwwroot” to your web’s root directory
- Update “web.config” file in your web’s root directory, add the following configuration
<configuration>
…
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<crystalReportViewer>
<add key="UseBrowserLocale" value="true"/>
<add key="resourceURI" value="~/aspnet_client/system_web/4_0_30319/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
…
</configuration>
Or just only copy “aspnet_client” directory from “C:\inetpub\wwwroot” to web’s root directory then report work fine.