Skip to Content
0
Former Member
Nov 24, 2011 at 01:04 AM

CrystalDecisions.ReportAppServer.CommLayer not found

2050 Views

I have updated a VS2005 project to VS2010. Iu2019ve downloaded and installed CRforVS_13_0 and CRforVS_clickonce_13_0.

This application has a CrystalReportViewer control on a form.

Sign the ClickOnce manifests is checked on the Signing page.

On Advanced Compiler Settings Iu2019m targeting .NET framework 4.0 and Target CPU = x86.

My only Crystal references are:

CrystalDecisions.CrystalReports.Engine
CrystalDecisions.Shared
CrystalDecisions.Windows.Forms

On the Publish/Application Filesu2026 screen Iu2019ve selected the following Crystal dlls:

CrystalDecisions.CrystalReports.Engine.dll
CrystalDecisions.Shared.dll
CrystalDecisions.Windows.Forms.dll

On the Publish/Prerequisites screen Iu2019ve selected:

.NET Framework 2.0
Microsoft .NET Framework 4 (x86 and x64)
Microsoft Data Access Components 2.8
SAP Crystal Reports Runtime Engine for .NET Framework 4.0
Windows Installer 3.1 (Iu2019ve also tried 4.5)

The application runs fine on my development machine and I can view Crystal reports.

I publish to a shared folder on a server where client PCs access updates to the application. The Install folder contains:

Application Files
crystal reports for .net framework 4.0
	>CRRuntime_32bit_13_0.msi
	>CRRuntime_64bit_13_0.msi
dotnetfx
dotnetfx40
mdac28
windowsinstaller3_1 (and 4_5 from my prior testing)
the application
setup.exe

When I try to view a Crystal Report from a client PC, I receive the following error:

Exception Source:      CrystalDecisions.CrystalReports.Engine
Exception Type:        System.IO.FileNotFoundException
Exception Message:     Could not load file or assembly 'CrystalDecisions.ReportAppServer.CommLayer, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
Exception Target Site: .cctor

If I add a reference to CrystalDecisions.ReportAppServer.CommLayer I get the following warning:

A reference was created to embedded interop assembly 'CrystalDecisions.ReportAppServer.CommLayer' because of an indirect reference to that assembly from assembly 'CrystalDecisions.CrystalReports.Engine'. Consider changing the 'Embed Interop Types' property on either assembly

I tried removing the reference and just adding CrystalDecisions.ReportAppServer.CommLayer as a prerequisite but then I get an error when I try to run the application on the client PC that says CrystalDecisions.ReportAppServer.CommLayer is not in the GAC.

I have been fighting with this for days now. Can someone tell me what Iu2019m doing wrong?