Crystal Reports Runtime для VS в Windows 7 выдает ошибку - PullRequest
5 голосов
/ 24 июня 2011

Кажется, он работает нормально на моей машине для разработки или на тестовых машинах Windows XP, но у меня проблемы с тестовыми машинами Windows 7.

enter image description here

После этого я получаю обычную ошибку сбоя:

************** Exception Text **************
System.InvalidOperationException: An error occurred creating the form. See
Exception.InnerException for details.  The error is: The type initializer for
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. ---> 
CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: An error has occurred while 
attempting to load the Crystal Reports runtime.

Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly.

Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required.  Please go to http://www.businessobjects.com/support for more information.
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
   --- End of inner exception stack trace ---
   at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
   at CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()
   at Processing.LogTag..ctor()
   at Processing.frmPrint.InitializeComponent()
   at Processing.frmPrint..ctor()
   --- End of inner exception stack trace ---

Их сайт, конечно, кошмар, чтобы найти что-нибудь ...

Примечание. Это 64-разрядная версия Windows 7, но я уже запускаю программу в 32-разрядном режиме.

Обновление:

Итак, я выяснил, что у Crystal Reports есть проблема, когда в версии x64 нет инициализаторов, и поэтому попытка инициализировать ее в моей программе вызывает ошибку.
Я убедился, что если я удалю версию x64 и установлю 32-разрядную версию x86, программа будет работать нормально. Я читал, что некоторым людям просто удалось запустить программу в 32-битном режиме, но по какой-то причине это не сработало для меня.

Я оставляю вопрос открытым на некоторое время, в надежде, что кто-то придумал, как заставить его инициализировать 64-битную версию, потому что это то, что автоматически устанавливается при установке одним щелчком мыши.

Ответы [ 4 ]

3 голосов
/ 29 ноября 2012

сначала измените целевую платформу вашего проекта на x86, затем снова скомпилируйте и установите эту настройку на свой 64-битный компьютер с Windows 7 (C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages \ CrystalReports\ CRRedist2005_x86.msi) и попробуйте открыть свои отчеты.

3 голосов
/ 22 июля 2011

Новейшая версия Crystal Reports для Visual Studio 2010 версии 13.0.1 (x64) будет работать, если программа также работает в режиме x64. Это означает, что VS может быть настроен на компиляцию для любого процессора.

http://www.sdn.sap.com/irj/boc/support?rid=/webcontent/uuid/d01fdad8-44e5-2d10-61ad-9d2d4158f3a8

1 голос
/ 08 сентября 2013

Мы исправили эту проблему, установив расширенную настройку пула приложений Включить 32-разрядные приложения в значение true

0 голосов
/ 17 марта 2014

Эта ошибка также может возникать, если вы используете 64-битный рабочий стол / сервер и у вас нет 64-битной среды выполнения. Вам нужно знать, какую версию среды выполнения нужно установить.Как всегда, Google - ваш лучший друг для поиска мест выполнения

...