我有一个Winforms
应用程序,它是为32位(x86)编译的,它有一个同样针对x86的安装项目。
我在我的开发机器和安装项目中安装了SAP Crystal Reports, version for Visual Studio (version 13.0.13)
,在依赖项下我检查了Crystal Reports Runtime Engine for .Net Framework
选项。此外,Windows Installer 3.1
被检查为依赖项。
在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位计算机上安装也是如此。
答案 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" />