2017-02-11 94 views
4

使用的CrystalReportViewer在C#Windows窗體項目,我用「的CrystalReportViewer」控件來查看「 RPT」文件。它工作正常並正確加載rpt文件。但是......Crystal報表系統登錄鍵權限錯誤,在C#

不幸的是,在其他系統中,它與這個錯誤遇到exe文件:

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

因此,RPT文件無法顯示!

其他系統有什麼問題?

我的項目是在Visual Studio 2015年 而在其他系統中創建的,我運行和安裝x86和x64 CRRuntime(18版以上) 版本10和水晶報告11安裝在所有系統中,並正確註冊。通過設置」 .NET框架4" 和‘4.5’的「目標框架」編譯EXE:

我測試了這一點。不幸的是,它具有同樣的錯誤......

在我所有的測試中,RPT文件中有EXE的電流通路。

請幫幫我! 謝謝

//***** 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

添加一些代碼,顯示如何使用水晶報告。 –

+0

我編輯了我的問題並輸入了我的代碼。謝謝您的回答@Shashi的Bhushan – nabegheh95

+0

我沒有看到任何代碼的問題,它必須與問題的編譯目標平臺。我記得,如果我們嘗試用x64位進行編譯,那麼水晶報告會抱怨,但在x86配置上工作正常。所以你可以嘗試用x86編譯並看看。 –

回答

0

這可能是水晶運行安裝程序遺留的Crystal Reports無法與現代的Windows操作系統,如水晶報告打得好是賣給了SAP,現在通過新的報告基礎設施像BI等取代的問題

我已經遷移到VB6 Crytal ReportsWindows 10 (x64)解決的修改等問題。這裏Runtime Installers不適用於VB6。在我看來,反向工程並從工作節點的密碼庫中生成安裝程序,並使用它在任何系統上安裝w.r.t代碼。還請確保檢查在項目設置中註冊COM Interop選項。有時它也有幫助。

0

你檢查註冊表編輯權限的CR用戶?

爲選定的文件夾「完全訪問權限」的用戶權限。

對於Crystal報告XI:

  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \業務對象\套件11.0 \ (在64位OS)
  • HKEY_LOCAL_MACHINE \ SOFTWARE \業務對象\套件11.0 \(32位 OS)
  • HKEY_CURRENT_USER \ SOFTWARE \ Business Objects公司\套件11.0 \

爲Crystal Reports 10:

  • HKEY_LOCAL_MACHINE \ SOFTWARE \的Crystal Decisions \ 10.0 \
  • HKEY_CURRENT_USER \ SOFTWARE \水晶決定\ 10。0 \