2017-02-11 11 views
4

In einem C# Windows-Formular-Projekt habe ich "CrystalReportViewer" -Steuerelement verwendet, um ". Rpt" -Dateien anzuzeigen. Es funktioniert korrekt und lädt Rpt-Dateien korrekt. Aber ...Crystal Report registery Schlüssel Erlaubnis Fehler, mit crystalreportviewer in C#

Leider in anderen Systemen, ist es exe-Datei mit diesem Fehler aufgetreten:

Ether the Crystal Reports registry key permissions are insufficient ... 

Daher ist die rpt-Dateien können nicht angezeigt werden!

Was ist das Problem in anderen Systemen?

Mein Projekt in Visual Studio 2015 Und in anderen Systemen erstellt wird, ich laufe und installiert, um den x86 und x64 CRRuntime (Version 18 und älter) die Versionen 10 und 11 des Kristall Berichts sind in allen Systemen installiert, und sie haben sich korrekt registriert.

Ich testete dies: kompilieren von exe durch Festlegen der "Target Framework" auf ".NET Framework 4" und "4.5". Leider hat es denselben Fehler ...

In all meinen Tests befinden sich die RPT-Dateien im aktuellen Pfad von exe.

Bitte helfen Sie mir! danke

//***** This is my testing code: 

private void crystalReportViewer1_Load(object sender, EventArgs e) 
{ 
    ReportDocument cryRpt = new ReportDocument(); 
    cryRpt.Load(strRptPath); 
    cryRpt.DataSourceConnections[0].SetConnection("MyServer", "DBName", false); 
    cryRpt.DataSourceConnections[0].IntegratedSecurity = true; 

    cryRpt.SetParameterValue("CenterName", strCenterName); 
    cryRpt.RecordSelectionFormula = "{Table.Field} = 'value'"; 

    crystalReportViewer1.ReportSource = cryRpt; 
    crystalReportViewer1.Refresh(); 
} 
+0

fügen Sie einen Code hinzu, der zeigt, wie Sie Crystal Report verwenden. –

+0

Ich habe meine Frage bearbeitet und meinen Code eingegeben. Vielen Dank für Ihre Antwort @Shashi Bhushan – nabegheh95

+0

Ich sehe kein Problem im Code, es muss Problem mit der Kompilation für die Zielplattform sein. Wie ich mich erinnere, wenn wir versuchen, mit x64 Bit zu kompilieren, beschwert sich Crystal Reports, aber auf x86-Konfiguration funktioniert gut. Also kannst du versuchen mit x86 zu kompilieren und zu sehen. –

Antwort

0

Dies könnte ein Problem sein, dass Crystal Runtime-Installationsprogramm für älteren Crystal Report nicht gut mit modernen Fenstern spielt System als Crystal Report Betrieb zu SAP ist ausverkauft und jetzt durch neue Reporting-Infrastruktur wie BI ersetzt usw.

Ich habe dieses Problem bei der Migration VB6 Crytal Reports zu Windows 10 (x64) ohne Änderungen in Angriff genommen. Hier sind Runtime Installers nicht für VB6 gemacht. Meiner Meinung nach Reverse-Engineer und Ersteller von Crytal-Bibliotheken von Arbeitsknoten generieren und verwenden, um auf jedem System w.r.t Ihren Code zu installieren. Überprüfen Sie auch Registrieren Sie sich für COM Interop Option in Projekteinstellungen. Manchmal hilft es auch.

0

Haben Sie die Regedit-Berechtigungen für die CR für den Benutzer überprüft?

Legen Sie die Benutzerberechtigungen für den ausgewählten Ordner auf "Vollzugriff" fest.

Für Crystal Reports XI:

  • HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Business Objects \ Suite 11.0 \ (auf 64-Bit-OS)
  • HKEY_LOCAL_MACHINE \ Software \ Business Objects \ Suite 11.0 \ (auf 32 Bit OS)
  • HKEY_CURRENT_USER \ Software \ Business Objects \ Suite 11.0 \

Für Crystal Reports 10:

  • HKEY_LOCAL_MACHINE \ Software \ Crystal Decisions \ 10.0 \
  • HKEY_CURRENT_USER \ Software \ Crystal Decisions \ 10.0 \