Hacking the Report Viewer Redistributable

Click Once is the most recent and most successful Microsoft web deployment strategy for Smart Client Applications.  The technology is a great way to deploy and/or update .NET 2.0 applications on client machines without the need for an installer. 

I have used the Report Viewer Control included in Visual Studio 2005 to embed reports within our Smart Client.  The control allows me to create professional reports without the use of a third party tools.  Plus I can always scale up to Reporting Services should the need arrise. 

There is a Report Viewer Redistributable available for download.  However, the Redistributable is an MSI and installs all components in the GAC.  This action requires administrator permissions which is frowned upon by our network security team.  The MSI is 1.83 MB and contains several extra files besides the core DLL's.   

We can solve this problem by "hacking" the MSI Redistributable.  The following steps were performed by co-worker John Arcidiacono and myself to successfully solve the challenge described above.

  1. Download Report Viewer Redistributable
  2. Use favorite Zip Utility to extract the MSI.exe to a folder of your choice
  3. Find the file ReportV1.cab in extract folder from step #2
  4. Use favorite Zip Utility to extract ReportV1.cab to a folder of your choice
  5. Open the new folder from step 4 and find 4 files
  6. Rename: FL_Microsoft_ReportViewer_Common_dll_117718_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 To Microsoft.ReportViewer.Common.dll
  7. Rename: FL_Microsoft_ReportViewer_ProcessingObject_125592_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 To Microsoft.ReportViewer.ProcessingObjectModel.dll
  8. Rename: FL_Microsoft_ReportViewer_WebForms_dll_117720_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 To Microsoft.ReportViewer.WebForms.dll
  9. Rename: FL_Microsoft_ReportViewer_WinForms_dll_117722_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 To Microsoft.ReportViewer.WinForms.dll
  10. Copy these dlls to your smart client project and reference them
  11. Now they will be part of the Smart Client's Build Output and Click Once Deployment
Published 10-16-2006 11:25 PM by dbottjer
Filed under: , ,

Comments

# Hacking the Report Viewer Redistributable

You've been kicked (a good thing) - Trackback from DotNetKicks.com

Monday, October 16, 2006 11:19 PM by DotNetKicks.com

# re: Hacking the Report Viewer Redistributable

slick. kicked =P

Monday, October 16, 2006 11:34 PM by royashbrook

# re: Hacking the Report Viewer Redistributable

Nice job Dennis.  

Monday, January 22, 2007 8:47 PM by David Strommer

# South Florida Code Camp 2007

Third Annual South Florida Code Camp, Hacking Reporting Viewer Examples and Power Point

Thursday, February 22, 2007 9:02 PM by Dennis J. Bottjer

# Extract ReportViewer controls from Redistributable package

Extract ReportViewer controls from Redistributable package

Monday, June 09, 2008 3:30 PM by Brute Forced Brilliance

# Report Viewer

Il controllo report viewer non fa parte del .Net Framework. Questo significa che gli utenti non sviluppatori

Sunday, October 05, 2008 6:23 PM by Il blog di Andrea Benedetti

# Reporting Services

Reporting Services

Wednesday, October 15, 2008 5:51 AM by i.florianb.NET Blog

# Using the Microsoft Report Viewer Control on a Shared ASP.NET Web Server

Using the Microsoft Report Viewer Control on a Shared ASP.NET Web Server

Saturday, November 15, 2008 6:16 PM by Facey's Bytes

# Reports in shared hosting | hilpers

Pingback from  Reports in shared hosting | hilpers

Sunday, January 18, 2009 8:04 AM by Reports in shared hosting | hilpers

# re: Hacking the Report Viewer Redistributable

Thanx a lot Dennis...Your solution worked for me

Friday, February 27, 2009 1:42 AM by 123wer