Error: "Unable to load client print control" en Reporting Services

 

¿Te has encontrado con el siguiente error últimamente al intentar imprimir un informe en Reporting Services?

No se puede cargar el controlador de impresión

(En Ingles: Unable to load client print control)

Es muy seguro que este error haya sido producido por la instalación del siguiente aviso de seguridad: 956391, que actualiza killbits, una versión antigua del control RSClientPrint por una vulnerabilidad encontrada.

Aviso de seguridad de Microsoft: Actualización de seguridad acumulativa para ActiveX

https://support.microsoft.com/?id=956391

Para solucionarlo, podéis instalar el último Cumulative Update 10 de SQL Server, que lo podéis conseguir del siguiente enlace:

Cumulative update package 10 for SQL Server 2005 Service Pack 2

https://support.microsoft.com/kb/956854/en-us

Si utilizaseis el Report Viewer desde una aplicación web, CRM o SharePoint, os aconsejaría los siguientes pasos:

1. Primero verificar la versión del Report Server. Debería de ser 9.00.3073 or 9.00.3282.

Si no, actualizar el Report Server:

Security Update for SQL Server 2005 Service Pack 2 (KB954607)

https://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5148b887-f323-4adb-9721-61e1c0cfd213

2. Ahora comprobar la versión del control ReportViewer (en caso de utilizarlo)

Para ello, abrir el informe en la máquina cliente, hacer clic derecho en el informe y seleccionar “View Source”.

Encontrar la siguiente línea:

<script src="https://blogs.msdn.com/TestRSClientPrintReportViewer/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=X.Y.ZZZZ

3. Ahora, Si el control es de tipo “Reserved.ReportViewerWebPart.axd” entonces tiene que ver con SharePoint.

Hay un fix para esto en el siguiente enlace:

Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies

https://www.microsoft.com/downloads/details.aspx?FamilyID=1e53f882-0c16-4847-b331-132274ae8c84&displaylang=en

Si el control es de tipo “Reserved.ReportViewerWebControl.axd” vamos bien.

Tenemos 2 versiones mayores diferentes: 8.00.50727 y 9.00.XXXX.

Si ves la versión 8.00.50727 esto significa que está viendo informes desde CRM o utilizando el control ReportViewer desde una aplicación web.

Si ves la versión 8.00.50727 y la versión es anterior a 8.00.50727.1843 entonces se debería de instalar el siguiente fix en el servidor ReportServer o en el servidor de CRM:

Microsoft Report Viewer Redistributable 2005 Service Pack 1

https://www.microsoft.com/downloads/details.aspx?familyid=82833F27-081D-4B72-83EF-2836360A904D&displaylang=en

Si ves la versión es 9.00.XXXX o 9.0.XXXX esto significa que está viendo informes desde Report Manager, Report Server o una aplicación web desde un Visual Studio VS 2008.

En ese caso se tundra que instalar el siguiente fix en la máquina del report server:

Microsoft Report Viewer 2008 SP1 Redistributable

https://www.microsoft.com/downloads/details.aspx?FamilyID=bb196d5d-76c2-4a0e-9458-267d22b6aac6&DisplayLang=en

Esto actualizará a la versión 9.0.30729.1 del control Report Viewer.

Para Reporting Services 2000

Hara falta instalar la siguiente actualización de seguridad en el servidor de Reporting Services

Security Update for SQL Server Reporting Services 2000 Service Pack 2

https://www.microsoft.com/downloads/details.aspx?familyid=5F9E7F78-7439-414B-A9DC-A779B89427DB&displaylang=en

Y la siguiente version del Report Viewer redistributable en la máquina donde está la aplicación web (ó la máquina de CRM):

Microsoft Report Viewer Redistributable 2005 Service Pack 1

https://www.microsoft.com/downloads/details.aspx?familyid=82833F27-081D-4B72-83EF-2836360A904D

La siguiente actualización de seguridad debería de estar instalada en todas las máquinas cliente:

Microsoft Security Advisory: Update Rollup for ActiveX Kill Bits

https://support.microsoft.com/kb/956391

He seguido los pasos arriba indicados y todavía me da el error al imprimir

Si aun así os seguís encontrando el error al imprimir el informe desde vuestra aplicación. Pudiera ser que la versión del control rsClientPrint en las máquinas cliente no fuera igual a la versión del servidor.

Una buena prueba sería que borraseis la el control que tenéis en la máquina cliente y permitáis que se descargue de nuevo desde el servidor. Esto se hace automáticamente al imprimir el informe, la primera vez que el control se va a utilizar o cuando la versión en el servidor cambia. Nótese que los usuarios necesitan tener permisos para descargar controles Active X.

Los pasos a seguir en la máquina cliente serían:

1. Desregistrar RSClientPrint.dll en c:\windows\system32 folder

2. Borrar todos los ficheros RSClientPrint.dll y RSClientPrint*.rll del directorio

c:\windows\system32 .

3. Ir a Windows\Downloaded Program Files y borrar la clase RSClientPrint 2005

4. Configurar la intranet de IE para que pida credenciales para descargar controles ActiveX

5. Ejecutar el informe y hacer clic en el botón de impresión.

6. Instalar el plugging ActiveX cuando lo pida

7. Confirmar que la clase RSClient 2005 se ha descargado en Windows\Downloaded Program Files

8. Si os muestra un mensaje que empieze por “An error occurred during printing (0x80070006)”, habrá que reiniciar la maquina y repetir los pasos

Una manera de comprobar la versión del control rsClientPrint en la máquina cliente sería (tiene que ser la misma versión que la del servidor)

· Abrir la ventana de comandos

· navegar a c:\windows\downloaded program files

· Copiar rsclientprint.dll a un directorio temporal, por ejemplo c:\temp

· Abrir el Explorador de Windows

· Navegar al directorio c:\temp

· En el menu contestual comprobar la versión

· Borrar RSClientPrint.dll del directorio temp

Maria Esteban

Ingeniero de Soporte de Reporting Services

Comments

  • Anonymous
    April 22, 2009
    ´he segido los pasos que describes y no logro solucionar el problema, tengo instalado SQL Server Reporting services 9.0.3042 actualice a SP2 y el report viewer con el enlace pero sigue el problema. Podrias ayudarme, es urgente, aa por cierto lo utilizo desde una aplicacion en ASP.NET

  • Anonymous
    April 22, 2009
    Asegúrate de que, en todas la máquinas (clientes y servidores) tengáis instalado el parche 956391. Microsoft Security Advisory: Update Rollup for ActiveX Kill Bits http://support.microsoft.com/kb/956391 Este parche de seguridad se instala automáticamente desde Windows Update. Maria Esteban EMEA GTSC Development Support Engineer Microsoft Product Support Services

  • Anonymous
    April 25, 2009
    TEngo el mismo problema, ya hice varios procedimientos y el error persiste, si me podrias ayudar a solucionarlo con información adicional,

  • Anonymous
    April 27, 2009
    Hola, Si en todas la máquinas (clientes y servidores) está instalado el parche http://support.microsoft.com/kb/956391 que comenta María en su respuesta necesitaríamos que abras un caso con nosotros para ver el entorno y confirmar de donde viene el problema. Un saludo, Marcos Celada Ingeniero de soporte de SQL Server

  • Anonymous
    July 21, 2009
    The comment has been removed

  • Anonymous
    July 21, 2009
    Adicional al posta anterior quisiera agregar que cuando yo navego directamente al informe por el explorer este me deja utilizar el control de imprimir, pero si lo hago desde la appl no. Muchas Gracias....

  • Anonymous
    July 28, 2009
    Despues de actualizar el ReportViewer control, deberás de ejecutar el comando iisreset para que los controles sean actualizados. Prueba esto

  • Anonymous
    July 28, 2009
    cuando yo navego directamente al informe por el explorer este me deja utilizar el control de imprimir... Intenta los pasos en el punto 3 del siguiente articulo para actualizar las maquinas cliente http://support.microsoft.com/kb/967511/es Maria Esteban

  • Anonymous
    January 25, 2010
    Hola, buenas noches, yo al igual que todos he realizado todo lo que mencionan y sigue ocurriendo el error. Quiero comentar que mi aplicación esta hecha en VS 2005, tengo un servidor de aplicaciones, el servidor de Reporting Services con 2005 y Sp 3, y servidor de base de datos con SQL Server 2005, todas las actualizacines que mencionan las he realizo al servidor de reportes y en mi maquina que utilizó como cliente he realizado lo correspondiente y el error persiste. Ojala puedan ayudarme

  • Anonymous
    February 12, 2010
    Muchas gracias, me funciono, mas claro no pudo ser el articulo. Mil gracias.