by Rich Rousseau
9. March 2009 22:41
The SQL Server Reporting Services Report Viewer control, found in Report Manager, SharePoint, and custom ASP.Net applications, utilizes a print control that contains a reference to a GDI library with a security vulnerability. Microsoft updated the vulnerable GDI library by deploying a new print control. Microsoft then sent out KB956391, which deployed a killbit that disables the old print control. The problem here is that if you haven't deployed the updated Report Viewer control to all your environments, then all your clients, who automatically received the killbit, are no longer able to print. They receive the "Unable to load client print control" error.
If you're in an enterprise environment where everyone is a limited user, you have secondary problem. Once the Report Viewer control is updated the client needs administrative privileges to install the updated ActiveX client print control. There have been reports of problems installing the updated ActiveX print control. I have experienced both successful and problematic manual installs. If your enterprise has the means to execute remote installations as an administrator, then you can simply take the contents of the RSClientPrint.cab file, copy them to the remote client, then remotely run a regserve32 on the RSClientPrint.dll file.
You can find the updated RSClientPrint.cab file in the ReportServer\bin folder of your SP3 or KB954607 updated SSRS installation.
Microsoft recently issued additional guidance on this issue.
Additional Resources
MSDN Forum Post
Brian Hartman's excellent summary of the issue
Mariae's solution summary
by Rich Rousseau
6. March 2009 07:31
Robert Bruckner, the developer behind the Tablix data region control in SQL Server Reporting Services 2008, is kicking off a series of posts on the capabilities of the control. The Tablix control is a combination of the Table and Matrix controls from previous versions of reporting services, and at its most basic allows for dynamic addition of both rows and columns. It is also the base control for many of the other common controls used in SSRS 2008. I will be following this series closely. Read more at Tablix – The Matrix Revolution.
BR>
by Rich Rousseau
6. January 2009 20:53
Robert Bruckner points out the new
MSDN aggregation site for Reporting Services 2008. Looks to be the one stop for a wide range of Reporting Services 2008 information with sections for downloads, white papers, video tutorials, links to blogs, podcasts, etc.
There are also sites for
Reporting Services 2005 and
2000, though they are not as rich.
by Rich Rousseau
19. December 2008 07:18
I was recently styling a SQL Server Reporting Services 2005 report that contained a subreport as one of its columns. This was a tabular report that needed an alternating background color for each row. The trouble with this is that the subreport cell doesn't expose a BackgroundColor property in the report designer.
No BackgroundColor Property!
For my first attempt at fixing this, I created a parameter on the subreport called BGColor and setup the subreport's text box BackgroundColor property to get its value from the parameter.

Setting the Subreport BackgroundColor via Parameter.
This worked fine as long as the cell containing the subreport remains its original size. However my report had columns that sometimes displayed more than one line of text, which caused the row height to expand by a few lines. This expanded the cell around the subreport, but the subreport did not expand to fill this new area.
Bad Report!
At this point I decided it didn't make sense that the cell containing the subreport didn't have a BackgroundColor property. A quick search for the RDL schema showed that it's legal to have a BackgroundColor element in the Style element of a subreport element. Armed with this new information, I opened the RDL file in Notepad2 and added the following…
<Subreport Name="subreport1">
<ReportName>SubReport</ReportName>
<Style>
<BackgroundColor>=iif(RowNumber(Nothing) Mod 2, "Gray", "White")</BackgroundColor>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
<ZIndex>1</ZIndex>
</Subreport>
The BackgroundColor of the subreport will now fill the entire cell even when the cell is expanded.
Note: The visual studio report designer will not display the background color. You'll need to deploy the report to an actual Report Server to see the full background color.
Good Report!