Winforms ReportViewer control does not work with ClickOnce

I have a major problem.  I want to use ClickOnce to deploy a business app that uses reporting services (with the new reportviewer control for winforms).  However, the majority (not all) the machines that I try to install the app on complain about a missing assembly "ADODB 7.0.3300" that must be installed in the GAC.   When I reference the Microsoft.ReportViewer.ClickOnce assembly I get a new dependency in my clickonce manifest file for the ADODB.  However, most XP machines simply do not have this installed.  This means that they have to install it some other way first before they can use clickonce.  This is a huge hassle and make clickonce nearly worthless for apps that use reporting.  I'm hoping that the reportviewer control gods can pull me out of this jam.  Any ideas here




Answer this question

Winforms ReportViewer control does not work with ClickOnce

  • Mike Monteith

    So the reportviewer does not really need ADODB   I wonder if I could hack out the reference in manifest file (for like a temporary workaround).

  • Kevin M. Ellis

    Okay.  I've found a workaround for this issue that removed the ADODB.dll depenency from the project.  So far my tests have been successful.  Let's just hope the reporviewer doesn't actually need the adodb.dll.

    1.  Open the project properties.

    2. Select the 'Publish' tab.

    3. Click on the 'Application Files' button.

    4. Check the 'Show all files' checkbox.

    5. Find the ADODB.dll file. 

    6. Set the Publish Status to 'Exclude'.

    7. Click Ok. Save project.  Republish.  The ADODB dependency is gone!



  • Mephisto187

    Jon, it looks like we have a bug. There shouldn't be any reference to ADODB in the ReportViewer controls, but there is. Thanks for finding this issue.
  • hmrupp

    I'm sorry the assembly is Microsoft.ReportViewer.Winforms.  From what I can tell if I remove the reference the dependency on the ADODB PIA assembly goes away.  But if add a reference to Microsoft.ReportViewer.Winforms (which I need for the reportviewer control to work), the dependency comes back.  I'm stumped here.

  • Yellar

    The only dependency of ReportViewer controls is .NET Framework 2.0. Could some other component in your app be referencing ADODB "Microsoft.ReportViewer.ClickOnce"  is not a standard ReportViewer assembly. Where did it come from


  • Winforms ReportViewer control does not work with ClickOnce