Installing the Reporting Services Client Print ActiveX Control

From EnablerWiki
Revision as of 23:48, 15 March 2010 by Robert (talk | contribs)
Jump to navigationJump to search

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:

  1. To save users having to accept the ActiveX installation prompts; or
  2. 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