17 02 2016
Crystal Reports parou de funcionar depois de atualizar para o Windows 10. O que fazer?
Um tempo atrás recebi um comentário muito interessante no meu artigo sobre o Crystal Reports no Visual Studio 2013. O Paulo César Lopes de Sousa, que é leitor do meu site, estava com um problema. Basicamente, o Crystal Reports parou de funcionar depois de atualizar para o Windows 10. Depois de muita tentativa e erro, conseguimos resolver o problema. E é justamente a solução para esse problema que eu vou apresentar no artigo de hoje.
Entendendo o problema
Imagine o seguinte cenário: você está com o Visual Studio 2013 instalado no Windows 8.1 utilizando o Crystal Reports for Visual Studio SP 14. Aí você decide, finalmente, atualizar para o Windows 10 (ou melhor, você não aguentava mais o Windows falando todo dia para você “Atualiza aí para o Windows 10, por favor, atualiza aí vai, não custa nada, vai atualizar?“).
Ao abrir os seus projetos desktop que utilizam o Crystal Reports, tudo continua funcionando que é uma beleza. Porém, sabe aquele projetinho web que também utiliza o Crystal Reports? Vamos ver se ele continua funcionando? Pois é, os relatórios não funcionam mais. No lugar deles, aparece uma página em branco. O que fazer?
Pesquisando a solução
Primeiramente, atualizamos o Crystal Reports para a versão mais nova (SP 15). Porém, nada feito. O resultado continua o mesmo. Páginas em branco ao tentarmos acessar os relatórios do Crystal Reports em qualquer browser que seja.
Qual é a saída agora? Procurar a solução na internet, é claro. Pesquisando por esse problema, acabei chegando em um post no fórum da SAP (atual dona do Crystal Reports):
I can’t see reports in the browser
Porém, tentei seguir as instruções desse artigo e não consegui resolver o problema (e o Paulo César, aquele leitor do meu site, também não conseguiu).
E qual a solução que realmente funciona?
Achei muito estranho porque uma pessoa tinha feito um comentário naquele post do fórum da SAP falando que a solução apresentada tinha funcionado:
Eu postei uma resposta perguntando mais detalhes, mas, obviamente, ele não respondeu. A propósito, pessoal, gostaria de deixar uma pequena nota aqui: se o seu problema foi resolvido com a ajuda de um fórum (ou blog) e depois de um tempo alguém pede ajuda para você sobre o mesmo tópico, por favor, responda a dúvida da pessoa! Retribua a ajuda que te deram, OK?
Enfim, como o usuário não me respondeu, resolvi dar uma olhada mais a fundo no link que ele tinha utilizado para resolver o problema. E não é que, nas entrelinhas, tinha um pequeno detalhe que eu não tinha seguido?
Vou detalhar agora para você a solução que eu utilizei (e que depois o Paulo César acabou confirmando que funcionou no ambiente dele também).
1 – Copie a pasta do Crystal Reports no diretório do seu site
A pasta do Crystal Reports fica localizada em “C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319“. Você precisa copiar a pasta chamada “crystalreportviewers13” desse diretório para o diretório do seu site (no mesmo nível em que as pastas “bin“, “App_Data“, “App_Start“, etc, ficam).
2 – Adicione o Section Group do Crystal Reports no web.config
Abra o seu arquivo web.config e, dentro da tag “configSections“, adicione o seguinte código:
<sectionGroup name="businessObjects"> <sectionGroup name="crystalReports"> <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral,PublicKeyToken=692fbea5521e1304, Custom=null" /> <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" /> </sectionGroup> </sectionGroup>
3 – Adicione a tag “businessObjects” no web.config
Ainda dentro do arquivo web.config, logo após o fechamento da tag “configSections” (ou seja, logo depois do </configSections>), adicione o seguinte código:
<businessObjects> <crystalReports> <rptBuildProvider> <add embedRptInResource="true" /> </rptBuildProvider> <crystalReportViewer> <add key="ResourceUri" value="/crystalreportviewers13" /> </crystalReportViewer> </crystalReports> </businessObjects>
E é justamente nesse código que mora o problema. Se olharmos o post que sugere essa solução, bem nas entrelinhas o autor fala que esse código em alguns casos funciona com um “~” e em outros casos funciona sem o “~“:
Ou seja, essa solução exatamente como eu apresentei aqui funcionou no meu cenário e também no cenário do Paulo César. Porém, caso ela não funcione no seu cenário, tente adicionar o “til” na linha correspondente ao ResourceUri:
<add key="ResourceUri" value="~/crystalreportviewers13" />
No meu caso só funcionou ao remover o “til“, mas, nunca se sabe, né?
Concluindo
Esse artigo, além de explicar passo a passo como resolver a situação em que o Crystal Reports para de funcionar ao atualizarmos para o Windows 10, ele também é uma lição de que devemos ler detalhadamente as instruções dos artigos. Muitas vezes a solução para o nosso problema pode estar nas entrelinhas.
E você, também passou por esse problema? Resolveu dessa forma? Deixe-nos a sua experiência nos comentários.
Antes de me despedir, convido você a inscrever-se na minha newsletter. Ao fazer isso, você receberá um e-mail toda semana sobre o artigo publicado, ficará sabendo em primeira mão sobre o artigo da próxima semana e receberá também dicas “bônus” que eu só compartilho por e-mail. Além disso, você já deve ter percebido que eu recebo muitas sugestões de temas e eu costumo dar prioridade às sugestões vindas de inscritos da minha newsletter. Inscreva-se utilizando o formulário logo abaixo.
Até a próxima!
André Lima
Utilizando o Report Viewer no ASP.NET MVC Como receber e-mails no C# utilizando POP3?
Ola, Boa tarde.
Recentemente instalei o VS Studio 2015 Comunidade. Instalei tambem o CRforVS_clickonce_13_0_17.zip. Ao fazer um relatorio, tudo fubnciona mas o relatorio aparece em branco. Já tentei:
aplicado ao config.app e não funcionou (tb tentei com o ~). Como solucionar? Obrigado
Olá Luiz!
É uma aplicação web? Estranho.. Eu segui exatamente os passos desse artigo e funcionou de boa no meu ambiente.. Você copiou a pasta do Crystal Reports no diretório do seu site? Já tentou executar o projeto em um outro computador?
Abraço!
André Lima
Obrigado André Lima.
Estava com o mesmo problema, segui o procedimento e voltou a funcionar.
Parabéns pelo post.
Um abraço!
Olá Flavio, obrigado pelo comentário! Que bom que você conseguiu resolver o problema seguindo as instruções do artigo! Fico feliz por ter conseguido ajudar..
Um grande abraço!
André Lima
Olá André, recentemente passei pelo mesmo problema do relaório em branco mas por conta de um cenário um pouco diferente. Tive que migrar uma pagina feita em asp.net (framework 1.0 utilizando Crystal Reports 10) para o framework 4.0 e resolvi o problema da seguinte forma:
Segue abaixo os passos para configurar o runtime correto da nova versao do crystal reports
1-Acesse o site abaixo :
https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Na tabela de executaveis logo na 1° linha voce pode baixar e instalar os seguintes arquivos de acordo com a sua necessidade:
1 – Support Pack 19 (v.13.0.19.2312) (Este é o arquivo que voce deve instalar no seu computador que é a versao para desenvolvedores)
2 – 32bit.msi (Este é o arquivo que voce deve instalar em servidores que só rodam programas em 32 bits (Ex: Windows 2003 Server)
3 – 64bit.msi (Este é o arquivo que voce deve instalar em servidores que só rodam programas em 64 bits (Ex: Windows 2008 Server ou superior)
2-No seu projeto web delete das referências as seguintes dlls:
1-CrystalDecisions.CrystalReports.Engine
2-CrystalDecisions.ReportSource
3-CrystalDecisions.Shared
4-CrystalDecisions.Web
3-Adicione novamente as mesmas dlls citadas acima, elas estarao no seguinte caminho:
C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet
4-No web.config e nas paginas que usam essas dlls do Crystal Reports atualize as informacoes das versões dessas dlls (no meu caso mudou de 10.0.3300.0 para Version=13.0.2000.0)
Espero ter ajudado…
Fala Erich!
Sensacional! Muito obrigado por ter postado aqui o procedimento que funcionou na sua aplicação.. Com certeza vai ajudar outras pessoas que passarem por esse mesmo problema.. :)
A propósito, migração de site de .NET 1.0 pra 4.0? Parece complicado hein, dá até arrepio aqui.. Boa sorte aí pra você!
Abraço!
André Lima
André, fica aqui o meu muito obrigado.
Estava com esse problema e seguindo os seus passos meus relatórios voltaram a funcionar.
Perdi dois dias tentando achar uma solução e a sua funcionou perfeitamente.
Parabéns pela postagem.
Já repassei aos meus colegas de trabalho.
Olá Kennerson, obrigado pelo comentário! Qua bacana que o meu artigo te ajudou a solucionar esse problema no seu projeto.. Fico feliz por ter conseguido ajudar.. :)
Abraço!
André Lima
Boa Tarde André, Cara estou com um problema instalei o crystal reports vs2017 e eu usava o 2013 parou de funcionar os relatórios! tem alguma dica
Olá Felipe!
Como assim “parou de funcionar os relatórios”? Você poderia ser mais específico?
Abraço!
André Lima