Wednesday, September 25, 2013

Printing from SSRS. The administrator is scatching his head until this is found...

SSRS printing? Why does it has to be that troublesome? The problem is when user needs to print the rendered report, they need to install an ActiveX component from the SSRS, namely the RSClientPrint.cab. To install this module, you need, of course, administrator right. {facepalm, nice work MS}. Here is a silent deployment guide, found on the blog Kodyaz Development Resources, which takes care of it this way (it is more detail on Eralper's blog, the following is summarised for my env.):

RSClientPrint.cab is a Microsoft ActiveX control that provides client side printing for Microsoft SQL Server Reporting Services reports.

If the print command is being run for the report server by that user's client machine then the client request the RSClientPrint.cab download from the related Report Server. While downloading the ActiveX software the browser will promt the user whether the software will be installed or not considering the security issues. Again, it is necessary to note that administration permissions are required for downloading and installing the rsclientprint ActiveX. For RSClientPrint install, RSClientPrint.cab download is the first step in installing the ActiveX on IE browser.

In most companies the Information Technology policies do not grant the admin privileges to the end users. So the end users running on the client computers can not download and install the ActiveX print client file RSClientPrint.cab. So it is a need for the IT departments to distribute this client side printing ActiveX control in order to support their clients to work with SQL Server Reporting Services (SSRS) without a problem.

The default bin folder of the ReportServer 2008 where new RSClientPrint-x86.cab, RSClientPrint-x64.cab or RSClientPrint-ia64.cab ActiveX file download can be found at :

C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin

For a silent deployment of RSClientPrint.cab, you only need to distribute RSClientPrint.dll file and the .rll files. If you copy the files listed below under the folder C:\WINNT\system32 for client computers.

RSClientPrint.dll
RSClientPrint_1028.rll
RSClientPrint_1031.rll
RSClientPrint_1033.rll
RSClientPrint_1036.rll
RSClientPrint_1040.rll
RSClientPrint_1041.rll
RSClientPrint_1042.rll
RSClientPrint_1043.rll
RSClientPrint_1046.rll
RSClientPrint_1053.rll
RSClientPrint_2052.rll
RSClientPrint_3082.rll

Register the RSClientPrint.dll dll file by running the regsvr32.exe command on the command prompt shown as below.

c:\regsvr32.exe /s
c:\winnt\system32 \rsclientprint.dll

So, if a script or an MSI file that copies the listed files above and registers the rsclientprint.dll will be enough to deploy the Reporting Services Client Side Printing functionality.

After the installation of the RSClientPrint is successfully done, the Print dialog box is displayed as shown below. You will realize that the Print options is very similar to standart Print dialog boxes that run on Windows systems including preview, number of copies, print range, printer selecting from available printers, etc.

No comments:

Post a Comment