2000分!!!求水晶报表部署的解决方案
因为平时主要做水晶报表的开发工作,公司有专人部署,所以也没有去关心这个事情
最近看到论坛上有很多人问关于部署的问题,问了问公司的相关人员,才发现原来我们也一直没完全解决,就那么凑合着用的.
搜索了一些网上的资料,就那么些文章被转来转去的,能真正解决问题的并不多
记得原来InstallShield中还带了Crystal Report8.5之前的发布脚本,但是自9.0之后就不再有脚本支持了.而是使用Crystal Report9自带的发布模块.
但是在官方论坛上看,其支持人员竟然说Crystal Report9的发布模块是错误的,我靠.
因为临近年底比较忙,时间不多.想牵个头组合一下资料解决以下问题:
水晶报表9.2 For Asp/VB6/VB.Net/VC#(Windwos App/Web App)
.Net2003自带水晶报表9.1 For VB.Net/VC#(Windwos App/Web App)
水晶报表10.0 For Asp/VB6/VB.Net/VC#(Windwos App/Web App)
希望大家互相帮忙,助人也助己.
欢迎提供文章资料,连接也可以.最好有实际的成功经验.
如果实际动手部署过的,请详细说明一下开发环境,部署条件,部署工具等
分数不是问题
帮顶有分
问题点数:100、回复次数:32Top
1 楼xwdd129(高手就是:不出手)回复于 2005-02-23 08:34:02 得分 15
阿泰兄,好久不见了,新年好啊!!
和你一样,关于部署我也没做过,不过我们的项目对报表的运用都很初级,也没遇到过什么大的问题,用起来也是马马虎虎了! 可是我现在的项目很快就需要我自己部署了,这次可没法撒手不管了,我正在想到时怎么办呢,没想到老哥你已经提前想到了,好感激你哦!!
让我们一起收集,同时我也赞助500分,希望各位网友大力支持本提议,帮顶一定有分!!Top
2 楼keyplayer(冰)回复于 2005-02-23 13:39:22 得分 5
水晶报表的布置不管是9,还是10都比较简单比你一个网站!
http://blog.csdn.net/haibodotnet/archive/2003/12/11/21545.aspxTop
3 楼babyt(阿泰)回复于 2005-02-23 14:45:56 得分 0
海波的资料我全有,但是没几篇是管用的Top
4 楼2zhk(古木)回复于 2005-02-23 16:34:10 得分 0
up
不分场合,不分地点,不分时间 大家宣传一下:
一组数据,日本对中国的依赖程度现排最前,特别是对中国市场的依赖,
如果中国人1个月不买日货,日本将有数千家企业面临破产。
如果中国人6个月不买日货,日本将有一半人失业。
如果中国人1年不买日货,日本经济结构彻底瓦解,日本还能这样嚣张吗!
你如果是中国人,不用你上战场当炮灰,
你要做的事很简单,就是不买日货。
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/
抵制日货网络签名处:http://www.dzrhlm.com/book/Top
5 楼pcdogyu()回复于 2005-02-24 11:49:53 得分 4
我们也没有完全解决
正在研究模板技术
Top
6 楼jakseng(一笑)回复于 2005-02-24 12:51:20 得分 4
支持...Top
7 楼xwdd129(高手就是:不出手)回复于 2005-02-26 10:28:14 得分 0
顶~~~~~~~顶Top
8 楼xiaomaoxia(多学点没错就好)回复于 2005-02-26 10:54:44 得分 5
到底是什么问题啊??? 我们的部署怎么就没问题!!!Top
9 楼landlordh(work wonders)回复于 2005-02-26 14:00:31 得分 15
打包的具体操作步骤(VS.net2003+win2K):
1)新建“安装和部署项目”-->“安装向导”
2)选择菜单中 项目-->添加-->文件(这里选“创建用于windows应用程序.exe”)-->打开
3)一般会自动将依赖项添加到“检测到的依赖项”,如果没有,那么我们要手动将其加入4)
Crystal_Managed2003.msm (如果有水晶报表)
dotnetfxredist_x86.msm (.net一定是必须的)
... (如果有引用其他的dll)
4)手动加入要包含的文件:项目-->添加-->合并模块(添加你的程序文件) (包括dotNetFramework和MDAC27)
位于:C:\Program Files\Common Files\Merge Modules\ 下,*为必要的
具体功能如下:
(托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)
* Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
(对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。)
* Crystal_Database_access2003.msm
Crystal_Database_access2003_chs.msm
(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,注意是添加合并模块,否则没有“MergeMouduleProperties”属性)
* Crystal_regwiz2003.msm
(如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模块也必须包含在安装工程中。
而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录)
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
(很多人经常出现查询错误,不妨加上这个)
5)打开解决方案-->右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)
6)生成解决方案(或直接按Ctrl+Shift+B)
至此整个分发程序已经做好,再把刚才做的那个安装程序双击一下……
-----------------------------------------------------------------------
打包時加入卸载功能:
方法一:
1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2.在文件系統視圖中選擇應用程序文件夾,在msiexec.exe上按右鍵,選擇創建快捷方式,重命名快捷方式為"卸载".
3.更改此快捷方式的Arguments 为"/x {產品id}",產品id的值為打包項目的ProductCode屬性值.
方法二:(推荐)
1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到
2.用VS.net建立一个新的控制台程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process = New Process
If System.Environment.OSVersion.ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改为自己的ProductCode
End If
myProcess.Close()
End Sub
End Module
3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式
-----------------------------------------------------------------------
把MS的pluginstaller插件装上后,用vb.net的自带的打包工具打包,就会自动把
.net framework环境打进去,再下面的步骤进行设置,就可以把MDAC也打包.
使用 Setup 项目安装 MDAC
1.确保 Visual Studio .NET 框架引导程序插件已安装。
2.在 Solution Explorer 中选择 Setup 项目。
从 View 菜单指向 Editor,并选择 Launch Conditions(启动条件)。
3.选择 Requirements on Target Machine(搜索目标计算机) 节点。
从 Action 菜单,选择 Add Registry Launch Condition(添加注册表搜索)。
4.选择 Search for RegistryEntry1 节点。在 Properties 窗口中,
选择 RegKey 属性,并键入 Software\Microsoft\DataAccess。
5.选择 Root 属性,并选择 vsdrrHKLM。
6.选择 Value 属性,并键入 FullInstallVer。
7.选择 Property 属性,并键入 MDACSEARCH。
8.在 Launch Conditions Editor(启动条件) 中,添加Condition1 节点。
选择 Condition1 节点,在 Properties 窗口中,选择 Condition 属性,并选择 MDACSEARCH>="2.6"。
9.在 Solution Explorer 中选择 Setup 项目。在 Project 菜单上,选择 Properties。
10.将 Bootstrapper 属性设置为 Windows Installer Bootstrapper(Windows 安装引导程序)。
编译 Setup 项目时,.NET 框架可重新分发软件包和 MDAC 将同时与该 Setup.exe 一起打包。
Top
10 楼xwdd129(高手就是:不出手)回复于 2005-03-01 13:14:19 得分 2
楼上老兄说的这些也都知道,主要是想看看大家在部署时都遇到过哪些问题,最终是怎样解决的,^_^
up~~Top
11 楼mwsssxu(David Xu)回复于 2005-03-03 10:08:14 得分 4
水晶报表是什么?Top
12 楼zhanglemail(咕噜)回复于 2005-03-05 16:33:09 得分 4
水晶报表是什么?
不是有向导吗?Top
13 楼mycity2000()回复于 2005-03-07 10:04:33 得分 4
我也想知道水晶报表10.0的部署Top
14 楼babyt(阿泰)回复于 2005-03-07 18:13:59 得分 0
水晶报表9.2打包图文教程参见
http://blog.csdn.net/babyt/archive/2005/03/07/313807.aspx
继续征集中
Top
15 楼babyt(阿泰)回复于 2005-03-14 00:28:19 得分 0
继续顶~~~ 更多水晶报表文章请关注
http://www.cnblogs.com/babyt/Top
16 楼delbrueck(一切了然无趣)回复于 2005-03-15 11:40:17 得分 4
不是很懂NET,但是我认为不能仅仅使用。NET部署。Top
17 楼bfwqc(丢在风中)回复于 2005-03-18 11:40:11 得分 4
学习Top
18 楼laojievip(小人物)回复于 2005-03-22 22:02:12 得分 4
学习Top
19 楼Bmonkey(CPP.UNIX|曾经得DotNeter)回复于 2005-03-23 14:02:03 得分 0
强烈支持Top
20 楼Bmonkey(CPP.UNIX|曾经得DotNeter)回复于 2005-03-23 14:03:20 得分 4
请看看我的问题:
http://community.csdn.net/Expert/topic/3874/3874277.xml?temp=.3535272Top
21 楼babyt(阿泰)回复于 2005-03-23 21:11:51 得分 0
:)Top
22 楼stormli(storm)回复于 2005-03-25 12:47:21 得分 4
帮up,自己还没布署过Top
23 楼silverseven(广西编程民工)回复于 2005-04-06 18:15:59 得分 6
打包的具体操作步骤(VS.net2003+win2K):
1)新建“安装和部署项目”-->“安装向导”
2)选择菜单中 项目-->添加-->文件(这里选“创建用于windows应用程序.exe”)-->打开
3)一般会自动将依赖项添加到“检测到的依赖项”,如果没有,那么我们要手动将其加入4)
Crystal_Managed2003.msm (如果有水晶报表)
dotnetfxredist_x86.msm (.net一定是必须的)
... (如果有引用其他的dll)
4)手动加入要包含的文件:项目-->添加-->合并模块(添加你的程序文件) (包括dotNetFramework和MDAC27)
位于:C:\Program Files\Common Files\Merge Modules\ 下,*为必要的
具体功能如下:
(托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)
* Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
(对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。)
* Crystal_Database_access2003.msm
Crystal_Database_access2003_chs.msm
(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,注意是添加合并模块,否则没有“MergeMouduleProperties”属性)
* Crystal_regwiz2003.msm
(如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模块也必须包含在安装工程中。
而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录)
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
(很多人经常出现查询错误,不妨加上这个)
5)打开解决方案-->右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)
6)生成解决方案(或直接按Ctrl+Shift+B)
至此整个分发程序已经做好,再把刚才做的那个安装程序双击一下……
-----------------------------------------------------------------------
打包時加入卸载功能:
方法一:
1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2.在文件系統視圖中選擇應用程序文件夾,在msiexec.exe上按右鍵,選擇創建快捷方式,重命名快捷方式為"卸载".
3.更改此快捷方式的Arguments 为"/x {產品id}",產品id的值為打包項目的ProductCode屬性值.
方法二:(推荐)
1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到
2.用VS.net建立一个新的控制台程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process = New Process
If System.Environment.OSVersion.ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改为自己的ProductCode
End If
myProcess.Close()
End Sub
End Module
3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式
-----------------------------------------------------------------------
把MS的pluginstaller插件装上后,用vb.net的自带的打包工具打包,就会自动把
.net framework环境打进去,再下面的步骤进行设置,就可以把MDAC也打包.
使用 Setup 项目安装 MDAC
1.确保 Visual Studio .NET 框架引导程序插件已安装。
2.在 Solution Explorer 中选择 Setup 项目。
从 View 菜单指向 Editor,并选择 Launch Conditions(启动条件)。
3.选择 Requirements on Target Machine(搜索目标计算机) 节点。
从 Action 菜单,选择 Add Registry Launch Condition(添加注册表搜索)。
4.选择 Search for RegistryEntry1 节点。在 Properties 窗口中,
选择 RegKey 属性,并键入 Software\Microsoft\DataAccess。
5.选择 Root 属性,并选择 vsdrrHKLM。
6.选择 Value 属性,并键入 FullInstallVer。
7.选择 Property 属性,并键入 MDACSEARCH。
8.在 Launch Conditions Editor(启动条件) 中,添加Condition1 节点。
选择 Condition1 节点,在 Properties 窗口中,选择 Condition 属性,并选择 MDACSEARCH>="2.6"。
9.在 Solution Explorer 中选择 Setup 项目。在 Project 菜单上,选择 Properties。
10.将 Bootstrapper 属性设置为 Windows Installer Bootstrapper(Windows 安装引导程序)。
编译 Setup 项目时,.NET 框架可重新分发软件包和 MDAC 将同时与该 Setup.exe 一起打包。
Top
24 楼Nikko0080(三缺浪人)回复于 2005-04-07 09:33:00 得分 4
部署出现问题啦?
只要把那5个合并模块添加,一般都没有什么问题Top
25 楼sd_lichangyou()回复于 2005-04-07 11:10:42 得分 4
早有闻大名!佩服!!我们晚辈真该跟前辈们好好学学
Top
26 楼sd_lichangyou()回复于 2005-04-07 11:34:09 得分 4
各位大侠,看看我的问题吧,好几次了,没人回呀???????
http://community.csdn.net/Expert/topic/3910/3910901.xml?temp=9.630984E-02Top
27 楼deyangwangyu(wangyu)回复于 2005-04-18 19:22:56 得分 0
我的部署也有问题,照楼上几位的方法做了,还是不行
水晶报表10,其中使用了dataset,部署的时候将所有的合并模块都打包进去,但是在目标机上运行时,提示如下:
System.TypeInitializationException: “CrystalDecisions.CrystalReports.Engine.ReportDocument”的类型初始值设定项引发异常。 ---> System.Runtime.InteropServices.COMException (0x80040154): 带有 CLSID {CF76A644-314B-404D-8D45-F08B51FF990B} 的 COM 对象无效或未注册。
请问是怎么回事?
Top
28 楼babyt(阿泰)回复于 2005-04-19 00:50:59 得分 0
To :deyangwangyu(wangyu)
看目标机器上这个文件是否存在
C:\Program Files\Common Files\Crystal Decisions\2.5\bin\sacommlayer.dllTop
29 楼deyangwangyu(wangyu)回复于 2005-04-21 13:33:22 得分 0
阿泰大哥
我看了,我部署后的机子里面没有2.5这个文件夹,只有1.0文件夹,而且里面没有这个文件
我将此文件拷贝进去还是不行。提示和原来一样
是不是仅仅拷贝过去不行,还要注册什么的?Top
30 楼babyt(阿泰)回复于 2005-04-21 16:45:09 得分 0
虽然注册了也不一定行,但是还是要注册的。Top
31 楼deyangwangyu(wangyu)回复于 2005-04-21 20:33:42 得分 0
怎么注册啊?Top
32 楼deyangwangyu(wangyu)回复于 2005-04-21 20:34:56 得分 0
要是老大来了,顺便再看看我另外一个问题
呵呵
http://community.csdn.net/Expert/topic/3956/3956453.xml?temp=.1563532Top




