Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems deploying a WinForms app that uses Microsoft ReportViewer

I have published a WinForms application from Visual Studio 2010. It uses .NET 4.0. in the prerequisite dialog in Publish pane I selected .NET 4.0 Client Profile and Windows Installer 3.0. After publishing application to disk, I migrated it to client's computer which first installed .NET Client Profile and after reboot it gave following error message:

Unable to Install or run application. The application requires that assembly, Microsoft.ReportViewer.Common version 10.0.0 in global assembly cache first.

After this message the installation process exits. I'm using .NET's report in my project (not Crystal Reports).

like image 791
Muhammad Adeel Zahid Avatar asked Mar 08 '11 09:03

Muhammad Adeel Zahid


2 Answers

You have to deploy the ReportViewer controls separately.

Check here on MSDN for more information: Deploying Reports and ReportViewer Controls

The ReportViewer control redistributable is a self-extracting file named ReportViewer.exe that includes an .msi and other files. You can find ReportViewer.exe at the following location:

%PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\ReportViewer\ReportViewer.exe

You can also download it from the Microsoft Download Center.

[ . . . ]

The type of control you are using determines where ReportViewer.exe should be run.

  • For ASP.NET applications, run ReportViewer.exe on the Web server that hosts your application. This must be done by a server administrator.

  • For Windows Forms applications, include the controls as an application prerequisite so that they are installed automatically with your application. You can use the bootstrapping application to automate this step:

    • Open the project properties page.

    • Click Publish, and then click Prerequisites.

    • Select Microsoft Visual Studio 2010 Report Viewer, and then click OK.

    • Publish the application.

During application installation, a check is performed on the local computer to see if ReportViewer is already installed. If it is not installed, the Setup program will install it.

like image 171
Cody Gray Avatar answered Oct 02 '22 08:10

Cody Gray


I guess this is probably a new VS2012 feature, but you now can deploy Report Viewer (and the SQL Server CLR Types) with Forms / WPF click once installations.

  1. Open the project properties page.
  2. Click the Publish tab, and then click the Prerequisites button.
  3. Select Microsoft Visual Studio 2012 Report Viewer, and SQL Server CLR Types then click OK.
  4. Make sure that the Download prerequisites from the component vendor’s website option is checked. This is the only supported option. Then, click OK.
  5. Click the Options button.
  6. In the Deployment tab, specify a deployment Web page and select the Automatically generate deployment web page after ever publish checkbox.
  7. Click OK and publish the application.
like image 23
Ted Avatar answered Oct 02 '22 09:10

Ted