天天看點

部署包含水晶報表的項目

安裝部署時,把水晶報表的msm打進去,注冊到伺服器,要部署使用 Crystal Reports for Visual Studio .NET 2003 的程式;

首先:找到以下7個檔案:

Crystal_Database_Access2003.msm

Crystal_Database_Access2003_chs.msm

Crystal_Managed2003.msm

Crystal_Managed2003_chs.msm

Crystal_regwiz2003.msm

VC_User_CRT71_RTL_X86_---.msm

VC_User_STL71_RTL_X86_---.msm

(你可以 'C:\Program Files\Common Files\Merge Modules' 檔案夾下找到)

接着:在解決方案資料總管中,右擊安裝項目,指向“添加”,然後單擊“合并子產品”。

在“添加子產品”對話框中,選擇上面的7個要添加到安裝項目的合并子產品,然後單擊“打開”:

還有:打開解決方案-->右鍵點選 Crystal_regwiz2003.msm 的屬性,在“MergeMouduleProperties”裡的“License Key”填入:AAP5GKS0000GDE100DS(這個是你生成Crystal Report是用到的注冊号的密碼!)

'*************************************************

部署水晶報表時的常見問題及解決方案(搜集:海波.NET,2003-10-18)

1、載入報表時報錯

問題出在報表釋出上。

釋出使用水晶報表的項目需要包含三種元件:報表(*.rpt)、子產品(*.msm)、運作庫(*.msm),這些子產品檔案是在 C:\Program Files\Common Files\Merge Modules\ 目錄裡面。

(1)報表(*.rpt)

使用者程式設計時建立的水晶報表檔案。

(2)子產品(*.msm)

Managed.msm 該子產品包含了CR for VS .NET 的管理子產品,如 CrystalDecisions、CrystalReports.Engine.DLL、CrystalDecisions.Web.DLL, 和 CrystalDecisions.Windows.Forms.DLL……

Managed_chs.msm 是該子產品的中文版語言支援。

Database_Access.msm 該子產品包含了資料庫的驅動、與不同資料庫的聯結、報表導出為 RTF 和 HTML 格式的文檔和圖表元件。

Database_Access_chs.msm 是此子產品的中文版語言支援。

Regwiz.msm 注冊資訊子產品,非常重要,必需在這個子產品輸入水晶報表的注冊序列号,如果不填,編譯的時候就無法通過

(3)運作庫(*.msm)

如果報表檔案使用了 ADO.NET 的 dataset 資料集對象,那麼 VC_CRT.msm 和 VC_STL.msm 子產品也必須包含在安裝工程中。而且這兩個子產品的檔案安裝屬性的\Module Retargetable Folder\項必須修改成為系統目錄

在VS.NET安裝工程中,系統檢測出來的依賴項隻有 dotNETFXRedist_x86_chs.msm 和 Managed.msm這兩個子產品,其他的子產品我們需要手動加入。

(1)在解決方案資料總管裡,右鍵單擊安裝項目選擇\添加\-〉\合并子產品(M)\

(2)在\添加子產品\對話窗體,選擇 Managed_chs.msm 、Database_Access, Database_Access_chs, regwiz、VC_CRT.msm 和 VC_STL.msm 子產品

(3)重新生成安裝項目,沒問題,隻是生成的安裝程式一下子大了七、八兆。

-------------------------

2、部署到 Windows 98 / ME 時,出錯:\Load Report Failed\

是因為查詢引擎 DLL(CRQE.dll)在客戶計算機上沒有正确注冊。

要解決這個問題,可以在客戶計算機上手動注冊 CRQE.dll,使用下面的指令:

regsvr32 \C:\program files\common files\Crystal Decisions\1.0\bin\CRQE.dll\

如果 CRQE.dll 沒有成功注冊,并且問題繼續存在,在客戶計算機上檢查 ATL.dll 的版本。ATL.dll for Windows 98/ME 正确的版本是 3.0.8449。

通過使用下面三種方法中的任意一種方法,可以找到并注冊正确版本的 ATL.dll。

(1)在客戶計算機上裝 IE6.0。

(2)在客戶計算機上,手動複制和注冊 ATL.dll,然後運作用于 Crystal Reports 分發的安裝包。

(2)将 ATL.msm 合并子產品添加到安裝工程,ATL.msm 是 Visual Studio installer 1.1 的一部分,可以去微軟的網站http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/download.aspx下載下傳, 添加辦法同上。

3、在Win98的用戶端運作提示\該字段名未知\

報表在Win2000的用戶端一切正常,在Win98的用戶端運作提示\該字段名未知\?

是因為報表使用到的 sql server 資料庫中的字段名為中文的緣故,将其字段名改名為英文字段名。

4、分發到客戶機時“查詢引擎出錯”

(1)“安裝項目”要包含下列合并子產品:

VC_CRT.msm

VC_STL.msm

(2)此外,確定 Msvcr70.dll 和 Msvcp70.dll 在客戶計算機的“系統目錄”裡。

5、load crpe32.dll failed

下面是cr9net_deployment.pdf說明中的部署Crystal Report 9的步驟:

打開 Windows 應用程式。

在解決方案資料總管中,右擊 Windows 應用程式解決方案,指向“添加”,然後單擊“建立項目”。

在“添加新項目”對話框中,選擇“項目類型”窗格中的“安裝和部署項目”,然後選擇“模闆”窗格中的“安裝項目”。單擊“确定”按鈕。

在解決方案資源管理中,右擊安裝項目,指向“添加”,然後單擊“項目輸出”。

在“添加項目輸出組”中,選擇“主輸出”,然後單擊“确定”。

将自動添加所有依賴項,如 dotnetfxredist_x86_enu.msm和dotnetcrystalreports.msm。

需要将dotnetcrystalreports.msm排除在項目之外,在解決方案資料總管中右擊這個子產品的右鍵,選擇“排除”。

在解決方案資料總管中,右擊安裝項目,指向“添加”,然後單擊“合并子產品”。

在“添加子產品”對話框中,選擇下列要添加到安裝項目的合并子產品,然後單擊“打開”:

reportengine.msm, crnetruntime.msm, license.msm

mapping.msm (可選,當在報表中使用了geographic maps時)

VC_CRT.msm、VC_STL.msm( 如果您部署的 Windows 應用程式使用 ADO.NET 資料集,則還需要包括 VC_CRT 和 VC_STL 合并子產品)

在解決方案資料總管中,右擊 license.msm 檔案,然後選擇“屬性”。

在“屬性”視窗中,展開 MergeModuleProperties,然後在“許可證密鑰”屬性框中輸入一個有效的許可證密鑰。

注意   每當部署 Crystal Reports 應用程式時,必須提供許可證密鑰。

從“生成”菜單中,選擇“生成解決方案”以生成應用程式。

6、在 ASP.NET 程式中加載報表時,出錯:\Load Report Failed\

確定 ASPNET 本地使用者對報表所在的檔案夾有“完全控制”的權限。

-----------------------------------------------------------------

  • 我做的小程式們
  • 【推薦】Web版短信管理平台源碼
  • WinForm版短信管理平台源碼
  • 移動短信程式源碼Win服務版(CMPP3.0/CMPP2.0協定)
  • 移動物聯網卡短信源碼(CMPP3.0協定,支援MsSql/MySql資料庫)
  • C#實作聯通短信Sgip協定程式源碼
  • C#實作電信短信SMGP協定程式源碼
  • C#實作移動短信CMPP服務端程式源碼

繼續閱讀