2011-06-23 22 views
5

Parece estar funcionando bien en mi máquina de desarrollo, o las máquinas de prueba de Windows XP, pero estoy corriendo en problemas en las máquinas de prueba de Windows 7.Crystal Reports Runtime para VS en Windows 7 emite un error

enter image description here

Después de eso, me sale un error de choque normales:

************** 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 --- 

Su sitio web es, por supuesto, una pesadilla para encontrar cualquier cosa ...

Nota: Es Windows 7 de 64 bits , pero ya estoy ejecutando el programa en modo de 32 bits.

Actualización:

Así me di cuenta de que los informes de cristal tiene un problema por el que la versión x64 no tiene ningún inicializadores, y así intentar inicializar en mi programa está causando un error.
He verificado que si desinstalo la versión x64 e instalo la versión x86 de 32 bits, el programa funciona bien. He leído que algunas personas tuvieron éxito simplemente ejecutando el programa en modo de 32 bits, pero por alguna razón eso no funcionó para mí.

Dejo la pregunta abierta por un tiempo, con la esperanza de que alguien haya descubierto cómo inicializar la versión de 64 bits, porque eso es lo que se instala automáticamente desde el clic una vez configurado.

Respuesta

3

La última versión de Crystal Reports para Visual Studio 2010 versión 13.0.1 (x64) funcionará si el programa también se ejecuta en modo x64. Esto significa que VS se puede configurar para compilar cualquier CPU.

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

+0

Si instalo la versión de 64 bits, ¿funcionará esto con una PC anterior? –

+0

Si no me equivoco, si instala esa versión y la compila en una computadora de 64 bits, funcionará en las computadoras x86 o x64. Al menos lo hizo por mí. Puede que tenga que jugar un poco con la configuración de compilación, pero debería funcionar. – AndyD273

+0

¡Eso es genial! Guarde el día –

3

primero cambiar su plataforma de destino de su proyecto como x86 continuación, compilar e instalar de nuevo esta configuración en su Windows 7 64 bit PC (C: \ Archivos de programa \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages \ CrystalReports \ CRRedist2005_x86.msi) e intenta abrir sus informes.

+0

Esto es un salvavidas. Al crear un servicio de Windows en VS, parece que le gusta construir para sistema operativo de 32 bits, por lo que borrar el cheque en "preferir 31 bits" hace el truco. – koo9

1

Hemos corregido este problema estableciendo el grupo de aplicaciones avanzadas de configuración de permitir que las aplicaciones de 32 bits a cierto

0

Este error también puede producirse si está ejecutando un escritorio de 64 bits/servidor & usted no tiene una Tiempo de ejecución de 64 bits. Deberá saber qué versión de tiempo de ejecución instalar. Como siempre, google es tu mejor amigo para buscar ubicaciones del tiempo de ejecución

Cuestiones relacionadas