cancel
Showing results for 
Search instead for 
Did you mean: 

CrystalDecisions.ReportAppServer.CommLayer not found

Former Member
0 Kudos

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?

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Gina,

You are using the orgianl release. Update to SP 2 which just released today:

Application Files

crystal reports for .net framework 4.0

>CRRuntime_32bit_13_0.msi

>CRRuntime_64bit_13_0.msi

dotnetfx

As your app is 32 bit you don't need to distribute the 64 bit runtime.

Bottom of this page: http://www.sdn.sap.com/irj/boc/crystalreports-dotnet

Then rebuild your app and have the users download the matching SP runtime files.

Also, please search first, lots of links from Ludek on Wiki's and Kbase articles on how to distribute and dependencies etc.

Thank you

Don

former_member183750
Active Contributor
0 Kudos

See KB [1553482 - How to force the 32bit runtime to install on all CPU Architectures (Intel and AMD64) when using Click-Once deployment|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333533353333333433383332%7D.do]

and

[1553968 - How to prevent the 64 bit msi installing on AMD64 processors when using Click-Once deployment|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333533353333333933363338%7D.do]

- Ludek

Former Member
0 Kudos

Thank you for the links, Ludek. The second link takes me to a page that states:

Comment out the below BypassIf entry:

<!-- <BypassIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="AMD64"/> -->

But in the xml file, the code states:

<!-- Uncomment the below BypassIf entry if you do not want to install the 64bit version CRRuntime redist in the target machine -->

<!--

<BypassIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="AMD64"/>

-->

It seems to me that I'm supposed to un-comment that line rather than leave it commented, unless there's something I don't understand (quite possible).

Answers (0)