If an application requires the use of Report Viewer Redistributable and needs access to specific .dlls for the application to run, you’ll find this post helpful, http://drowningintechnicaldebt.com/blogs/dennisbottjer/archive/2006/10/16/Hacking-Report-Viewer-Redistributable.aspx.
It explains how to extract the necessary .dll files so you can reference them in your application and avoid GAC security errors (e.g., Could not load file or assembly ‘Microsoft.ReportViewer.Common, Version=18.104.22.168, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The module was expected to contain an assembly manifest.)
I will outline the steps below to avoid another click. 😉 I have also added links for the most recent versions of Report Viewer.
Download Report Viewer Redistributable
Report Viewer 2005 – http://www.microsoft.com/downloads/details.aspx?familyid=8a166cac-758d-45c8-b637-dd7726e61367&displaylang=en
Report Viewer 2008 – http://www.microsoft.com/downloads/details.aspx?familyid=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&displaylang=en
Report Viewer 2008 SP1 – http://www.microsoft.com/downloads/details.aspx?familyid=BB196D5D-76C2-4A0E-9458-267D22B6AAC6&displaylang=en
Use favorite Zip Utility to extract the MSI.exe to a folder of your choice
Find the file ReportV1.cab in extract folder from step #2
Use favorite Zip Utility to extract ReportV1.cab to a folder of your choice
Open the new folder from step 4 and find 4 files
Rename: FLMicrosoftReportViewerCommondll117718X86.3643236FFC7011D3A5360090278A1BB8 To Microsoft.ReportViewer.Common.dll
Rename: FLMicrosoftReportViewerProcessingObject125592X86.3643236FFC7011D3A5360090278A1BB8 To Microsoft.ReportViewer.ProcessingObjectModel.dll
Rename: FLMicrosoftReportViewerWebFormsdll117720X86.3643236FFC7011D3A5360090278A1BB8 To Microsoft.ReportViewer.WebForms.dll
Rename: FLMicrosoftReportViewerWinFormsdll117722X86.3643236FFC7011D3A536_0090278A1BB8 To Microsoft.ReportViewer.WinForms.dll
Copy these dlls to your smart client project and reference them
Now they will be part of the Smart Client’s Build Output and Click Once Deployment
I hope this makes someone’s life a little easier!