强制安装Crystal Reports 32位运行时

时间:2015-04-12 14:43:31

标签: visual-studio-2010 x86 64-bit setup-project crystal-reports-2010

我有一个Winforms应用程序,它是为32位(x86)编译的,它有一个同样针对x86的安装项目。

enter image description here

我在我的开发机器和安装项目中安装了SAP Crystal Reports, version for Visual Studio (version 13.0.13),在依赖项下我检查了Crystal Reports Runtime Engine for .Net Framework选项。此外,Windows Installer 3.1被检查为依赖项。

enter image description here

在32位计算机上安装没有问题,但是当我因某种原因安装在64位计算机上时,安装程​​序会安装64位版本的Crystal Reports Runtime Engine。然后,当您尝试打印报告时,应用程序会出现异常,因为它需要安装32位版本。如果我手动安装32位版本的Crystal Reports运行时,那么报告可以正常工作,但我希望Crystal Reports的安装在应用程序安装中正常工作。

所以我的问题有两个方面:1)有没有人知道我遇到的这个问题是Windows Installer问题还是具体问题Crystal Reports? 2)如何在Visual Studio安装项目中指定安装32位版本的Crystal Reports运行时始终,即使在64位计算机上安装也是如此。

1 个答案:

答案 0 :(得分:2)

以下是需要完成的过程。有关详细信息,请参阅link

解决

在bootstrapper文件夹中找到 Product.xml 文件: C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages \ .NET Framework 4.0的Crystal Reports

注释掉下面的BypassIf条目,在目标机器上安装32位版CRRuntime redist

<!--  ByPass if the Processor is not x86 --> 
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" />