on 11-24-2011 1:04 AM
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?
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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).
User | Count |
---|---|
85 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.