0

我有一個爲32位(x86)編譯的Winforms應用程序,該應用程序的安裝項目也針對x86。強制安裝Crystal Reports 32位運行時

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位機器上安裝出於某種原因,安裝程序將Crystal Reports Runtime Engine的64位版本。當您嘗試打印報告時,應用程序會發出異常,因爲它需要安裝32位版本。如果我手動去安裝Crystal Reports運行時間的32位版本,那麼這些報告可以正常工作,但是我希望安裝Crystal Reports能夠從應用程序安裝中正常工作。

所以我在這裏的問題是雙重的:1)有誰知道我遇到的這個問題是Windows Installer問題還是特別是Crystal Reports問題? 2)如何在Visual Studio安裝項目中指定32位版本的Crystal Reports運行時應該安裝總是,即使在64位機器上安裝也是如此。

+0

上安裝32位版本CRRuntime REDIST如果這是你的一個pp,是否很難爲64位機器構建64位版本?也許並不理想,但也許會解決這個問題。通常情況下,64位運行時包含64位和32位組件,因爲人們在64位機器上運行32位和64位應用程序。 CR不這樣做並且要求您安裝兩個運行時,這有點奇怪。 – PhilDW

回答

2

以下是需要完成的過程。請參閱link瞭解更多詳情。

分辨率

找到Product.xml文件中的引導程序文件夾: C:\ Program Files文件(x86)的\微軟的SDK \的Windows \ v7.0A \引導程序\軟件包\水晶報表.NET Framework 4.0中

註釋掉下面BypassIf進入到目標機器

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

感謝您發佈該鏈接。我會在某個時候測試一下。目前,雖然這對我們來說不再是個問題,因爲我們通過製作32位CR的副本並將副本與64位CR相同的名稱來解決問題。這樣,使用哪個安裝程序並不重要,因爲它們都是32位的CR。我很樂意承認,這是一種黑客解決方案,但它對我們有效。 – BruceHill

相關問題