Monday, October 16, 2006 11:25 PM dbottjer

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
Filed under: , ,

Comments

# Hacking the Report Viewer Redistributable

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

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

# re: Hacking the Report Viewer Redistributable

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

slick. kicked =P

# re: Hacking the Report Viewer Redistributable

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

Nice job Dennis.  

# South Florida Code Camp 2007

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

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

# Extract ReportViewer controls from Redistributable package

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

Extract ReportViewer controls from Redistributable package

# Report Viewer

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

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

# Reporting Services

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

Reporting Services

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

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

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