Distributing FastReport.Net with an application

This article will be helpful for anyone who uses FastReport.Net in his application.

In order for your application to be operable on any computer, you need to include third-party libraries that you use in it. In this case - FastReport library.

The following libraries are available:
• FastReport.dll - the main library FastReport.Net;
• FastReport.Web.dll - Library to work in ASP.Net, contains WebReport component;

• FastReport.Bars.dll - library for organizing floating windows, toolbars, and menus;
• FastReport.Editor.dll - code editor with syntax highlighting. This library is not necessary, if your application does not use the report designer;

• FastReport.xml - comments to classes, properties and methods to the FastReport. This file is used in the code editor, and also in tips panels (when you select the function in the "Data" window or any property in the "Properties"). This file is not required to distribute;

• FastReport.Service.dll – the dll to implement WCF services;
• FastReport.VSDesign.dll - a service library for the organization of work with FastReport from Visual Studio.

In addition you need to distribute report files (if reports are stored in files instead of the application resources).
What does it mean to distribute the library? This means that the library should be located in the same directory as the application .exe file, or should be registered in the GAC.

GAC (Global Assembly Cache) - a well-known catalog of assemblies intended to be shared by multiple applications. The CLR automatically checks this folder when it detects reference to the assembly.

It is necessary to use special utilities for placing assemblies in the GAC, for example - GACUtil. For Framework 2.0 should be used gacutil.exe. For Framework 4.0 - gacutil4.exe.

Here is an example command-line utility to run the registration FastReport library in GAC: gacutil4.exe / i FastReport.dll.
Gacutil4.exe can be found in one of the ways, depending on the version of Windows and Visual Studio:

C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools

So, together with a Windows application you need to distribute the following libraries: FastReport.dll, FastReport.Bars.dll, FastReport.Editor.dll. Mandatory one is FastReport.dl.

FastReport.Bars.dll and FastReport.Editor.dll required only if you use the components of these libraries.
For Web applications, place the libraries: FastReport.dll, FastReport.Web.dll. Both are required.

Service WCF application distributed with the libraries: FastReport.dll, FastReport.Service.dll.

It should be remembered that libraries of FastReport.Net have differences for versions of Framework 2.0 and 4.0. Keep this in mind when distributing. Copy the files of the libraries from the installation for the proper version of Framework.

To work with diagrams in FastReport.Net should be installed Microsoft Chart Control https://www.microsoft.com/en-gb/download/details.aspx?id=14422.

If you want to distribute reports with charts, you have to include System.Windows.Forms.DataVisualization.dll library in the program package (can be found in the distribution FastReport.Net). This is also true for Web applications.

I pointed out FastReport.VSDesign.dll in the list of libraries FastReport.Net . It needed to work with FastReport.Net in Visual Studio only and do not need to distribute it together with the application.

Another such a service library - FastReport.Install.dll.