感谢孟子E章提供的技术咨询。 系统配置: Windows 7 + VS2010 , WinForm + DotNet4 + 水晶报表 这里说的打包集成,指的用VS2010的制作的安装包,在安装的时候可以顺带安装水晶报表V13,有这么三种方法:
一、使用水晶报表V13合并模块 举例:CRRuntime_13_0_1.msm 具体步骤请参考官方文档,网址如下:
不过我按照文章中步骤做下来,在安装的时候,仍然会出现下面的提示:
最后放弃尝试,以失败而告终。
二、使用部署项目的系统必备组件功能 如下图,
系统必备组件中的每一项都来自一下目录: C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages 这个目录里有个子目录Crystal Reports for .NET Framework 4.0,将从SAP官网下载到的32位(CRRuntime_32bit_13_0_1.msi)以及64位(CRRuntime_64bit_13_0_1.msi)水晶报表V13运行库复制到这个目录就可以了。
三、使用自定义操作 换个思路:将水晶报表的安装文件作为普通文件加入安装包,在安装结束之前,使用自定义操作功能自动运行水晶报表的安装文件即可。 遗留问题: 我采用的是第二种方法,为了减少开发以及维护工作量,公司的软件均只有x86一种版本,所以使用的水晶报表也是32位的,但倒霉就在这了,安装包在64位操作系统上安装的时候,会自动安装64位的水晶报表,导致软件不能运行,但在制作安装包的时候,又没有地方设置水晶报表的版本。最后想了一招,把CRRuntime_64bit_13_0_1.msi删除,再把CRRuntime_32bit_13_0_1.msi复制一份改名为CRRuntime_64bit_13_0_1.msi,这样无论在32位还是64位操作系统上安装的都是32位水晶报表,总算蒙混过关。
附:
MDAC 2.81 bootstrapper package下载地址
http://www.microsoft.com/en-us/download/details.aspx?id=5072