2013-05-21 27 views
2

我有一个在VS2010和.Net Framework 4.0中开发的Windows应用程序。我们在应用程序中使用了Crystal报表。通过包含Crystal Report运行时来安装Vb.NET Windows应用程序

我们需要通过包括水晶报表的运行时间和所需的视觉C++依赖按照以下链接创建一个安装程序: http://wiki.sdn.sap.com/wiki/display/BOBJ/Using+Crystal+Reports+for+Visual+Studio+2010+Merge+Modules+(MSM)+to+create+a+Setup+project

我们尝试了以下2级解决方案作为我们工作的一部分至今。但是,当使用安装程序在目标机器上安装应用程序时,我们会遇到错误。
1. CRRuntime_12_3.msm
2. Microsoft_VC80_ATL_x86.msm
3. Microsoft_VC80_CRT_x86.msm
4:

第一个解决方案使用以下合并模块文件作为安装程序的一部分(按照上面的链接)包含。Microsoft_VC80_MFC_x86.msm
5. Microsoft_VC80_OpenMP_x86.msm

使用以下合并模块文件作为安装程序的一部分的第二个包括(按照这个网站:http://csharp.net-informations.com/crystal-reports/csharp-crystal-merge-module.htm):
1. CRRuntime_12_3.msm
2. CrystalReportsRedist2005_x86.msm
3. Microsoft_VC80_ATL_x86.msm
4. policy_8_0_Microsoft_VC80_ATL_x86.msm

正如一个故障排除步骤,我们安装在Visual C++,目标计算机的依赖性,并试图安装应用程序仅包含Crystal Report运行时文件(CRRuntime_12_3.msm)。这也是不成功的。收到

所有的错误到目前为止在本质上是相似,但有消息说没有注册的DLL(querypanel.dll,crtslv.dll)。

目标机器具有Windows 7作为操作系统及以下的安装: .NET Framework 4.0客户端配置文件 .NET框架4.0扩展 微软的Visual C++ 2005可再发行(我将卸载这一点,因为我需要创建安装程序通过添加这种依赖性)

于解决任何帮助,这将不胜感激。

回答

2

我发现了2个解决方法。我会解释他们为谁遇到同样问题的任何人的利益。

第一的解决方案,你需要创建2个安装程序。一个将安装C++依赖项。此安装程序应只包括C++合并模块:

  1. Microsoft_VC80_ATL_x86.msm
  2. Microsoft_VC80_CRT_x86.msm
  3. Microsoft_VC80_MFC_x86.msm
  4. Microsoft_VC80_MFCLOC_x86.msm
  5. Microsoft_VC80_OpenMP_x86.msm

你需要确保在检测到的依赖关系中添加了以下策略文件。这些策略文件应位于位于C:\ Program Files(x86)\ Common Files的合并模块文件夹中。您需要刷新检测的依赖性文件夹,以确保该政策的文件已被添加:

  1. policy_8_0_Microsoft_VC80_ATL_x86
  2. policy_8_0_Microsoft_VC80_CRT_x86
  3. policy_8_0_Microsoft_VC80_MFC_x86
  4. policy_8_0_Microsoft_VC80_MFCLOC_x86
  5. policy_8_0_Microsoft_VC80_OpenMP_x86

接下来你需要创建第二个安装程序将包含您的应用程序输出和Crystal Report运行时合并模块,即CRRuntime_12_3.msm。

按顺序运行这些安装程序和宾果游戏,您应该在应用程序中的水晶报告按预期工作。

第二的解决方案是通过安装以下2个部件直接安装C++依赖性:

  1. Visual C++ 2005 SP1 Redistributable Package
  2. Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update

然后运行以上,其包括所生成的所述第二安装应用程序输出和Crystal报表运行时合并模块,一切都应该正常工作。

假设您已经使用32位水晶报表运行时构建了一个32位应用程序,则可能会遇到另一个处理目标系统配置(如果它的64位操作系统)的问题。在这种情况下,您需要充分利用配置设置,并确保您的应用程序仅安装为32位应用程序。否则你会得到一个错误说:水晶报告注册表项权限不足或.......

相关问题