Unable to Load Client Print Control

Sometimes in SQL Reporting Services, some Windows updates can break your client connect to print from SQL Report Manager or an application using theĀ  ReportViewer control.

In my experience, this affects SQL 2005 Reporting Services more than SQL 2008 Reporting Services. Why? Because beginning with SQL 2008, Microsoft stopped shipping GDI+ with SQL Server. Because SQL Server prior to SQL Server 2008 required GDI+ because of the Operating System requirement, any patches that affects GDI+ will also affect the SQL Server Reporting Services. For example, if you have SQL 2005 Service Pack 3 or ReportViewer 2008 redistributable installed and updated but have not kept that server up to date on Windows patches, like this Microsoft bulletin here (until the link dies), then as soon as you update your server, you may break your client’s print capability until the client workstation is updated. More information about this is found here (until the link dies).

Putting on my geek hat, I always create a new MSI package with the latest files used by reporting services. In my particular situation, because I may use 2005, 2008, and 2008 R2, I create the MSI to install the files to work with all of these (2008 R2 seems to be backwards compatible with 2008 R1 SP1 but haven’t tested yet with 2008 R1 SP2).

You may ask why do I go through the effort of creating an MSI package. Well, one, it’s easier to have one installation. Two, if you just install the files from the Report Manager or ReportViewer control, one installation may overwrite the other. For example, if you have the print client working properly on a SQL 2008 Report Manager and then connect to a SQL 2005 Report Manager and try to print, the 2005 files may overwrite the 2008 files and when you try to print from the 2008 Report Manager, your client may get the “Unable to Load Client Print Control” error. With the MSI package that is kept up to date with all the necessary versions, this issue should never occur (and hasn’t in my area). The way I did it was to install each version in its own folder, so the 2005 files are in the 2005 directory and the 2008 files are in the 2008 directory. Both versions share a parent directory. Mission Accomplished!

Leave a Reply