Installing the Reporting Services Client Print ActiveX Control
Created: 14 October 2009. Last Reviewed: 14 October 2009
EEE Reports are delivered using Microsoft SQL Server Reporting Services, a component of SQL Server 2005 and SQL Server 2008. Reporting Services displays reports to users in a web browser. In order to print reporting services reports to a client-connected printer, Reporting Services uses a small ActiveX component known as RSClientPrint. Upon first attempt to use the client print function (or first attempt after installing a Reporting Services update such as an SQL Server service pack), IE will prompt the user to download and install the ActiveX control.
The ActiveX control may be manually pre-deployed to client machines. This is desirable:
- To save users having to accept the ActiveX installation prompts; or
- If Internet Explorer security settings are such that the installation of the ActiveX control would not be permitted.
To Manually Install the ActiveX Control:
The ActiveX control files are in RSClientPrint.cab on the SQL Server in the Reporting Services bin directory. This is typically located in c:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting Services\ReportServer\bin. Note that the MSSQL.4 directory is variable depending what SQL Server components are installed – Reporting Services may be in MSSQL.2 or MSSQL.3 etc.
The cab file contains the following which should be installed in c:\windows\Downloaded Program Files:
- gdiplus.dll
- 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_1049.rll
- RSClientPrint_1053.rll
- RSClientPrint_2052.rll
- RSClientPrint_3082.rll
Once thse files have been installed, RSClientPrint.dll needs to be registered:regsvr32.exe RFClientPrint.dll.If writing a batch file to automate this process it may be necessary to force the installation and registration of files above to run under a separate account with administrative privileges. The following batch file may be used as a guide:
@echo off
@Rem Skip if already installed (might not work if attempting to upgrade an older version!)
if exist "c:\Windows\Downloaded Program Files\gdiplus.dll" goto endd
@Rem Specify source directory (copy of files from cab file)
set srcpath=\\eee-server\files
@Rem Install Files
%srcpath%\psexec.exe /accepteula -u administrator -p my-password cmd.exe /c xcopy %srcpath%\rsclient\* "c:\Windows\Downloaded Program Files" /y
@Rem Register DLL
%srcpath%\psexec.exe -u administrator -p my-password regsvr32 "c:\Windows\Downloaded Program Files\RSClientPrint.dll" /s
:endd
Note: This batch file uses psexec.exe from Sys Internals (http://technet.microsoft.com/en-us/sysinternals/bb545027.aspx) to invoke commands (cmd.exe and regsvr32.exe) under a different (administrator) account. The Windows internal runas command cannot be used because runas does not accept passwords from the command line.
Note that upon first execution of psexec.exe a EULA may be displayed to the user in a modal dialog box. To prevent this (which would stop a batch file from running in unattended mode), the command line switch /accepteula is used in the first call to psexec.exe.
See Also:
If the Print Control fails to load, you may require updates to SQL Server: http://theoracle.magentaretail.com.au/wiki/index.php/Reporting_Services_Client_Print_Control_cannot_load