【问题标题】:Installing a Vb.NET Windows application by including Crystal Report runtime通过包含 Crystal Report 运行时安装 Vb.NET Windows 应用程序
【发布时间】:2013-05-21 12:03:27
【问题描述】:

我有一个用 VS2010 和 .Net framework 4.0 开发的 Windows 应用程序。我们在应用程序中使用了 Crystal 报表。

我们需要按照以下链接通过包含水晶报表运行时和所需的可视化 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

作为故障排除步骤,我们在目标机器上安装了可视化 C++ 依赖项,并尝试仅使用 Crystal Report 运行时文件 (CRRuntime_12_3.msm) 安装应用程序。这也失败了。

到目前为止收到的所有错误本质上都是相似的,消息说注册 dll 失败(querypanel.dll、crtslv.dll)。

目标机器的操作系统为 Windows 7,并安装了以下系统: .NET 框架 4.0 客户端配置文件 .NET 框架 4.0 扩展 Microsoft visual C++ 2005 redistributable(我将卸载它,因为我需要通过添加此依赖项来创建安装程序)

任何解决此问题的帮助将不胜感激。

【问题讨论】:

    标签: .net winforms deployment crystal-reports windows-installer


    【解决方案1】:

    我找到了 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。

    依次运行这些安装程序并进行宾果游戏,您的应用程序中的水晶报告应该会按预期工作。

    第二种的解决方法是直接安装C++依赖,安装如下2个组件:

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

    然后运行上面创建的第二个安装程序,其中包括应用程序输出和水晶报表运行时合并模块,一切正常。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多