Installing the Reporting Services Client Print ActiveX Control

From EnablerWiki

Jump to: navigation, search

Created: 14 October 2009. Last Reviewed: 08 August 2011

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.
  3. The installation via the 'yellow bar' prompt in Internet Explorer has failed on a previous occasion.
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. SQL Server 2008 and above use MSRS* as the folder name for Reporting Services.

The cab file contains the following which should be copied to the c:\windows\Downloaded Program Files folder on the client machine:

NOTE: Default Windows system permissions may mask the files in this directory. Copying the files into the folder via a command line should make it clear that the files have actually been copied.

  • 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 "C:\Windows\Downloaded Program Files\RSClientPrint.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 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 an 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: Reporting Services Client Print Control cannot load

Sys Internals PSExec.exe

Personal tools