含水晶报表应用程序的打包问题用VB.NET2005做了个数据库应用程序,用到VS里集成的水晶报表,也是用VS打包的
含水晶报表应用程序的打包问题
用VB.NET2005做了个数据库应用程序,用到VS里集成的水晶报表,也是用VS打包的安装程序。在开发机器上安装运行正常,在其他机子上总是运行到水表这块出问题。这种含水晶报表的程序到底如何打包(用VS部署安装),注意些什么?
[最优解释]
微软自带的报表客户机上面是要安装的,,,,,
打包的时候好像有个大勾的选项是是否安装报表的,我以前弄过,好像安装很慢,就直接把报表安装文件分开安装的
[其他解释]
该回复于2012-06-09 09:32:41被版主删除
[其他解释]
爲什麽不使用 Stimulsoft Reports 2012.1,打印非常方便。。
[其他解释]
补充:以前VB6的时候,也是同样的问题,水晶报表就是在生成安装程序的时候麻烦些。搜了一些帖子,也按着做了,还是没有解决。不想再浪费时间,干脆发帖问吧。谢谢!
[其他解释]
谢谢!可是还是不清楚啊。
[其他解释]哎,又试了下合并模块什么的,又没找到“主输出”和一些模块文件。。。。。。让人纠结的水表啊!
[其他解释]http://blog.csdn.net/happy09li/article/details/6931959
你在网上找下,有水晶报表怎么打包,有很多的,,不行就直接下一个报表安装文件,安装
[其他解释]谢谢!链接里是怎样做报表啊,我现在是报表已经做好了,只是怎样正确打包成安装文件,让它能在其他机器上顺利安装运行。本想截两个出错的图片过来,相册里今天又不知道出什么故障,不能完成上传。
[其他解释]不用截图,就是报表没安装的原因,,
[其他解释]http://download.csdn.net/download/zhaohaoinbj/925147
把这个下载安装报表就可以运行了
[其他解释]happy09li:你好!谢谢你这两天的回复。链接文件里有2008的字样,对VS.NET2005开发的程序是否可以?本可以试下的,只是那台机子现在不在身边,只好等明天了。还想问下,必须安装这个文件吗?如果是这样,以后就不打算用水表了。
[其他解释]渐渐有了些眉目,其实我的安装项目Debug文件夹下已经有CrystalReports,dotnetfx,MDAC28这三个文件夹,可能依次对应水晶报表、.net框架,MDAC28就不清楚了。其中CrystalReports文件夹下有CRRedist2005_x86和CRRedist2005_x86_chs两个文件,记得也试着运行过里面的文件,当时也不行。是不是单独运行安装不可以呢,还是非要做下“合并模块”的工作?先不管这些了,明天试下happy09li的方法。
[其他解释]不幸的是今天按happy09li的方法做了还是出错,不管是安装CRRedist2005_x86还是CRRedist2008_x86,也不管是谁先装谁后装。只是提示跟之前有些不同,还可以看得水表中“主报表”的字样,就是不显示报表。
[其他解释]其他的工具先不考虑了,以后再说,时间不允许。
[其他解释]有没有报错,,能看到水晶报表就说明已经可以用使用报表了,,
现在提示什么问题?
------其他解决方案--------------------
提示:
未实现格式化交叉表对象时出错
文件C:\Docume……(一连串路径).rpt内出错:
尚未执行操作。
CSDN的相册不能上传图片,点击浏览后没有任何反应。。。
[其他解释]找到阿泰的方法:http://www.cnblogs.com/babyt/archive/2008/08/29/1279569.html
重新做了安装包,明天再试下,希望一次成功!!现在迷惑的是rpt是否需要添加进去。
[其他解释]报表查看器不是可以指定rpt报表么?
[其他解释]还是出错啊,难道还要装CRD003?(可是点击链接没有资源)。让客户机装这装那的,结果还是出错。。。
[其他解释]无从下手了。。。
做个仅水晶报表的简单程序试试?或找到VS2005CRInstallv1.rar资源?
[其他解释]Dim oRpt As New xxx() '已建立的报表
…… ’填充Table
oRpt.SetDataSource(MyDataSet.Tables("表x"))
CrystalReportViewer1.ReportSource = oRpt
代码应该是没有问题的,数据库路径也是相对路径。
[其他解释]有勾选的,对应VS2005应该是Crystal Reports for .NET Framework2.0
[其他解释]可能还真是这个原因(现在还不能确定):将原来的应用程序项目文件全部重新生成,然后将添加在安装部署项目中.exe文件删除,重新添加。再重新打包,发给朋友的机器上安装竟然非常顺利。没有错误!
[其他解释]http://topic.csdn.net/u/20100118/02/0267903C-8B32-4468-93ED-1F64AE325AE9.html
难道是这个原因?有下手的地方了。。
[其他解释]回头把网上几种方法都测试下,给自己做个总结,然后结贴。谢谢几位网友的回复。还想说的是,如果不是通过合并模块做的安装文件,安装后在“添加删除程序”里发现应用程序大小只有10几兆的样子,通过合并模块发现猛增到80MB左右。是不是大了点啊。
[其他解释]那就应该是这个原因
[其他解释]打包的时候勾选项是否有所变化?
[其他解释]今天又稍稍修改了下应用程序,也没有删除什么,重新编译,重新通过合并模块打包安装,发现应用程序的大小又突然缩小到24.25MB,真是奇怪了,到底是什么在影响大小?变化这么大?本来是一个问题,现在变成2个,结贴的时候自然要加分的。。
[其他解释]再换台机子也没有错误。
[其他解释]勾选项一直是没有变化的,都是前面3个。可恶的是今天在老是报错的那台机子测试,错误依旧。朋友的机子却正常。还有,同样的文件在开发机子上安装,应用程序的大小只有24.25MB,在报错的这台机子上竟达到96.31MB.问题还没有解决啊!打算再换台机子试试。
[其他解释]标记一下:http://topic.csdn.net/u/20090514/17/58a23645-fd14-4a94-905b-72e86eb9caf0.html#replyachor
下午又换了第四台机子测试,仍然没有问题,出错似乎只针对最初的那台。
[其他解释]出现这些问题也很正常,,哎,,,
[其他解释]最初那台系统重装后重新安装了下没有任何问题。只是控制面板中显示程序的大小达90多兆。功能不是很复杂,怎么会这么大呢,都快赶上Office了,要是能减减多好。
有些问题确实在论坛中不好解决,只能自己慢慢找原因。本打算结贴了,还是等等看吧。
[其他解释]这个确实蛮得自己摸索。。
[其他解释] 原因初步查明:最初的那台机器我以前安装过用VB6.0编写的同样程序(功能基本差不多),也用到水晶报表,只是这个水晶报表是独立的Crystal Reports9.0。后来用VS.2005编写的程序基本完成,于是就卸载了旧版本,重新安装了现在这个,问题也就因此产生。而其他三台机子都没有安装过旧版本,甚至没有.NET Framework2.0.
今天我在开发机子上试着安装旧版本,结果是新版本也出问题了,问题还不只一个,提示.NET Framework有问题等。再卸载旧版本,问题仍然存在,可能是不能回到最初的环境(安装旧版本时有提示某些文件被替换成无法识别的版本)
两种开发工具分别做的程序,即使在访问数据库机制方面有差异,也应该相对独立些才对啊,竟然如此脆弱!如何避免?继续求解。
[其他解释]现在问题还越来越多了,,,
[其他解释]1、http://www.cnblogs.com/babyt/archive/2008/08/29/1279569.html
2、打包时候“系统必备”里勾选必要的选项(VS2005是前面3项,我用的是ACCESS数据库)。如果是VS2008或别的数据库可能有些不同。
[其他解释]null
[其他解释]水晶报表安装部署确实是一个挺头疼的问题,,
我以vs2008为例,在打包工程勾选那一项后,会产生两个文件CRRedist2008_x86.msi和CRRedist2008_x64.msi,勾选了,意即安装的时候会自动安装水晶报表,但确经常出现安装失败的问题(你只要卸载之前安装过的水晶报表,再安装基本都没问题)
问题产生的根源确是
不同版本的CRRedist2008_x86.msi引起
由于开发机器装的vs版本不能保证是一样的,比如一个装中文版的vs,一个英文版,这两个产生的CRRedist2008_x86.msi版本自然不同。
导致产生不同版本的CRRedist2008_x86.msi原因有很多,我们可能没法一一排查,但我们在部署的时候可以选择不勾那一项,即安装的时候不让vs自动帮我们装水晶报表,我们可以另外写一个bat脚本 用这个固定的CRRedist2008_x86.msi文件来安装,这样就可以保证每次安装的时候这个CRRedist2008_x86.msi版本是一样的。
我这边只提CRRedist2008_x86.msi,而不提CRRedist2008_x64.msi,因为在64位机下用CRRedist2008_x86.msi安装完全没问题,倒是用CRRedist2008_x64.msi安装经常导致水晶报表无法查看
[其他解释]做了个最简单的 winform 程序,用crystalreportview 控件显示做好的 .rpt , 放到别的机子上报错
1, 未能加载文件或程序集"CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
把dll 添加后,又显示错误2
2.: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
看来网上的原因,说要装 CRRedist2008_x86.msi , 我装了,还是报错,不知道该怎么解决? 楼主能帮忙吗?