Кажется, он работает нормально на моей машине для разработки или на тестовых машинах Windows XP, но у меня проблемы с тестовыми машинами Windows 7.
После этого я получаю обычную ошибку сбоя:
************** 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-битную версию, потому что это то, что автоматически устанавливается при установке одним щелчком мыши.