Unable to load client print control and deploying RSClientPrint via MSI

When it comes to printing reports generated by SQL Server Reporting Services directly from the browser (Internet Explorer), a typical problem encountered by most users is that of not being able to print due to an error : ”Unable to load client print control”.

It is important to understand that this problem is due to the fact that printing a report generated by SQL Server Reporting Services directly from the browser requires a control names RSClientPrint.

SQL Server Reporting Services has this control in a cab RSClientPrint.cab typically located in the bin folder of the ReportServer virtual directory.

If the browser does not have this control or it requires an update, the server sends the cab to the client browser and this in turn tries to install it. In order to successfully install it, you need to have ActiveX controls enabled and need Administrator permissions.

This post will focus on a very particular case that is typically encountered in companies: user does not have Administrator permissions and still needs this control.

The solution described below involves generating a MSI package and deploying it via SMS.

1. Open Visual Studio (2008 is my version) and create a new Setup Project.

2. Right click on the project and choose View-> File System.

3. Right click on Application Folder and choose Properties Window.

4. Set the DefaultLocation property to [WindowsFolder]Downloaded Program Files.

5. Extract all the files from RSClientPrint.cab and add them to Application Folder.

6. Right click rsclientprint.dll and choose the Properties Window.

7. Set the Register property to vsdrfCOMSelfReg.

8. Choose Project -> Properties or press F4.

9. Set the InstallAllUsers property to True and the RemovePreviousVersions property to True.

10. Right click on the project and choose View->Registry

11. Remove the [Manufacturer] keys from HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE.

12. Right click on the project and choose View->User Interface.

13. Remove the Installation step from both Install and Administrative Install.

14. Choose Project->Properties and click Prerequisites.

15. Uncheck the Create setup project to install prerequisite components.

16. Build the solution.

If everything went ok, in the Release folder (depending on your active configuration) you should have RSClientPrintRedist.msi file.

If you plan to update the RSClientPrint version, you should follow the following steps:

1. Open the above created solution.

2. Right click on the project and choose View-> File System.

3. In the Application Folder replace the existing files with the new ones.

4. Follow steps 6, 7 and 8 from above.

5. Modify the version of the project and press Enter.

6. Visual Studio will ask you to also change the Product Code. Choose Yes.

7. Rebuild the solution.

Following the above mentioned steps you have a new version of RSClientPrint ready to be deployed. The reason for changing the Version and Product Code is explained very well here http://www.simple-talk.com/dotnet/visual-studio/updates-to-setup-projects/.

I hope this helps,

Bogdan

kick it on DotNetKicks.com

Shout it

Advertisements

6 Responses to Unable to load client print control and deploying RSClientPrint via MSI

  1. […] Unable to load client print control and deploying RSClientPrint via MSI – Bogdan Brinzarea […]

  2. zolar says:

    It is not easy.. I can’t solve until now..

  3. GoofyCoder says:

    I have followed the steps for creating the MSI package, but I still cannot seem to get the control installed and registered. I am on Windows XP Pro with VS 2005.

    When I look at the Downloaded Program Files folder, I do not see any difference between when I install or uninstall the MSI package.

    Any ideas?

    Thanks in advance.

  4. David says:

    In step 13, do you remove the Installation Folder or Confirm Installation from both Install and Administrative Install?

    • bogdanbrinzarea says:

      Hi David,

      I remove the Installation Folder and not the Confirm Installation.

      Bogdan

  5. Thayal Muhunthan says:

    Well Done !! Nothing solved my problem except your article. Thank you for your time and sharing this with us.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: