2014-10-03 67 views
4

我正在面對Crystal Reports報表中的一個問題,該報表用於爲WPF應用程序中的訂單生成報表。無法使用SAP Crystal報表生成報表

我的工作站配置的Windows 7(旗艦版)64位,Visual Studio 2010中

我還沒有安裝任何的水晶報表引擎,但我已經複製了所有必要的dll對我的項目(創建一個文件夾,然後在我的項目中引用)。但是當我點擊按鈕(生成報告的按鈕)時,我在報告構造函數中得到一個異常(不同的異常來自不同的運行)。

主要的例外說

「的類型初始爲 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 拋出 例外。」

當我深入內部的例外,我知道這一點。

「無法加載文件或程序集 ‘CrystalDecisions.ReportAppServer.CommLayer,版本= 13.0.2000.0, 文化=中性公鑰= 692fbea5521e1304’或它 依賴項。系統無法找到該文件 指定 「:」 CrystalDecisions.ReportAppServer.CommLayer, 版本= 13.0.2000.0,文化=中性公鑰= 692fbea5521e1304"

這裏是我的錯誤的屏幕截圖,

我已經使用了它並知道我需要爲Vstudio 2010安裝CR,但是如果我安裝了我的開發計算機,如何使安裝程序在客戶端計算機上部署,並且我不想在所有計算機上安裝CR機器(我將在哪裏部署到我的許多客戶)。

我真的需要幫助解決這個問題,我能做些什麼來解決我的問題?

任何幫助高度讚賞。

+1

您打算使用Crystal Reports報告引擎,但不想部署它?是這樣嗎? – Dennis 2014-10-03 07:23:13

+0

我真的沒有得到你的問題@丹尼斯,我想要做的是生成一個報告。而且我無法爲我的客戶端機器安裝CR(因爲我有很多客戶端,安裝對我來說真的很麻煩)。但我可以將所有必需的DLL複製到正在部署的應用程序中。 – 2014-10-03 07:26:01

+0

你有沒有得到這個工作@ ganesh? – 2014-10-07 18:39:13

回答

1

您是否在您的應用程序中使用ClickOnce安裝?如果是這樣,您可以指定SAP Crystal Reports Runtime Engine for .NET Framework作爲該項目的Publish ...屬性下的先決條件,因此只要安裝了應用程序,它就會安裝,它將從Web下載並安裝。如果不是ClickOnce,則可以將您的安裝方法配置爲使用您的應用程序安裝引擎。爲了開發,您需要爲Visual Studio安裝CR。

+0

我正在使用Windows安裝程序來部署我的應用程序。是否有任何方法可以使我的部署包中所需的dll包的一個包,以便他們可以簡單地安裝而無需訪問互聯網。 – 2014-10-03 13:59:36

+0

有一段時間沒有使用Windows安裝程序,但我知道我以前做過。很確定你只是在先決條件中選擇它。這應該讓你開始:http://msdn.microsoft.com/en-us/library/7eh4aaa5(v=vs.100).aspx – 2014-10-03 14:01:54

+1

好吧,所以爲了生成報告,我必須安裝CR for 32位或64位,否則我無法使用它。這就是你的意思。添加所有必需的dll是否不足以生成報告? – 2014-10-03 14:16:03

3

正式文件says

部署水晶報表的Visual Studio 2010(CRVS2010)運行 文件是爲了強制確保包含項目 水晶正確Reports組件的功能。

要麼遵循這些建議,要麼拒絕Crystal Reports在您的應用程序中的使用,並選擇另一個報告引擎,該部署適合您的要求。

+0

是否可以在沒有管理員權限的情況下安裝使用CR的應用程序? – 2014-10-03 18:00:49

+0

+1:這就是我會想到的。安裝不同於複製Dlll。有安裝時更改的註冊表項和其他背景廢話。 – aMazing 2014-10-06 03:17:41

+0

@VDohnal:如上所述,CR使用msi/msp包,即Windows Installer。因此,安全性沒有什麼特別之處。我不是系統管理員,但我認爲,允許非特權用戶安裝軟件是不好的做法。 – Dennis 2014-10-07 05:31:33