0

I have a Reporting Services 2005 server that when users accessed it and tried to print reports would get a message asking them to install the print control, which they could not do because of lack of permission. A work around I had found at the time was to copy the .dll and .rll files to their computer on startup via group policy and then register it. Now we are upgrading to Reporting Services 2012 and the print control has changed and I need to do this again.

I have 3 questions.

I can't locate the .dll and .rll files on my computer to put in a share. Where should I look for them.
I have a mix of 32 bit and 64 bit machines. Will this make a difference in what files I need? Will the script below otherwise still work?

if not exist %windir%\system32\rsver3.txt goto ADD

GOTO END

:ADD
regsvr32.exe /u /s rsclientprint.dll
copy \\server\share\RSClientPrint.dll %windir%\system32
copy \\server\share\RSClientPrint_1028.rll %windir%\system32
copy \\server\share\RSClientPrint_1031.rll %windir%\system32
copy \\server\share\RSClientPrint_1033.rll %windir%\system32
copy \\server\share\RSClientPrint_1036.rll %windir%\system32
copy \\server\share\RSClientPrint_1040.rll %windir%\system32
copy \\server\share\RSClientPrint_1041.rll %windir%\system32
copy \\server\share\RSClientPrint_1042.rll %windir%\system32
copy \\server\share\RSClientPrint_1043.rll %windir%\system32
copy \\server\share\RSClientPrint_1046.rll %windir%\system32
copy \\server\share\RSClientPrint_1053.rll %windir%\system32
copy \\server\share\RSClientPrint_2052.rll %windir%\system32
copy \\server\share\RSClientPrint_3082.rll %windir%\system32
copy \\server\share\gdiplus.dll %windir%\system32
copy \\server\share\rsver3.txt %windir%\system32
regsvr32.exe /s  %windir%\system32\rsclientprint.dll
:END

Update

I modified the above script to the following and placed the x86 and 64 files in different folders.

These files were extracted from the c:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\RSClientPrint-x64.cab and c:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\RSClientPrint-x86.cab and placed in the appropriate folders

and it appears to work on 32 bit and 64 bit systems, however, it no longer allows you to print from Reporting Services 2005 on the 32 bit machines. It prompts to install the print control. The 64 bit machines can print from both Reporting Services 2005 and 2012 after running this script.

if exist %windir%\SysWOW64\nul goto X64
GOTO X86

:X86
if not exist %windir%\system32\rsver5.txt goto ADD86

GOTO END

:ADD86

regsvr32.exe /u /s %windir%\system32\rsclientprint.dll
copy /Y \\server\share\x86\RSClientPrint.dll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1028.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1031.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1033.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1036.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1040.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1041.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1042.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1046.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_1049.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_2052.rll %windir%\system32
copy /Y \\server\share\x86\RSClientPrint_3082.rll %windir%\system32
copy /Y \\server\share\gdiplus.dll %windir%\system32
copy /Y \\server\share\rsver5.txt %windir%\system32
regsvr32.exe /s %windir%\system32\rsclientprint.dll

GOTO FINISH

:X64

if not exist %systemroot%\SysWoW64\rsver5.txt goto ADD64

GOTO END

:ADD64

 %systemroot%\SysWoW64\regsvr32.exe /u /s %systemroot%\SysWoW64\rsclientprint64.dll
 %systemroot%\SysWoW64\regsvr32.exe /u /s %systemroot%\SysWoW64\rsclientprint.dll

copy /Y \\server\share\64\RSClientPrint64.dll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1028.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1031.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1033.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1036.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1040.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1041.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1042.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1046.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_1049.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_2052.rll %systemroot%\SysWoW64
copy /Y \\server\share\64\RSClientPrint64_3082.rll %systemroot%\SysWoW64

copy /Y \\server\share\x86\RSClientPrint.dll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1028.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1031.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1033.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1036.rll%systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1040.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1041.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1042.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1046.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_1049.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_2052.rll %systemroot%\SysWoW64
copy /Y \\server\share\x86\RSClientPrint_3082.rll %systemroot%\SysWoW64

copy /Y \\server\share\gdiplus.dll %systemroot%\SysWoW64
copy /Y \\server\share\rsver5.txt %systemroot%\SysWoW64

%systemroot%\SysWoW64\regsvr32.exe  /s %systemroot%\SysWoW64\rsclientprint64.dll
%systemroot%\SysWoW64\regsvr32.exe  /s %systemroot%\SysWoW64\rsclientprint.dll

GOTO FINISH

:FINISH

:END

2 Answers 2

1

Hey just for future reference you got this the wrong way around. the 32bit DLL files should go to SysWOW64 and the 64bit should go in system32.

Confusing but that is the way it works with DLL's is SysWOW64 contains the 32bit emulated DLL files and system32 contains the native 64 bit ones.

Hope this helps someone.

-1

The Rsclientprint.inf file is missing.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .