3 de Septiembre de 2014
Abr
29

.NET Tutorial 46. Visual Studio 2010, Crystal Reports 13 y .NET Framework 3.5 SP1

Categorías: 

Hace relativamente poco que estoy usando Visual Studio 2010.
Parafrasenado a no sé quien:

Visual Studio 2008 ha muerto
Viva Visual Studio 2008

:)

Como sabréis (y sino para eso esta tito Olly) en el VS2010 no se incluye el Crystal Reports.
Decir para los "no iniciados" :), que Crystal Reports es posiblemente una de las herramientas de reporting más utilizadas. ¿Reporting? ¿Ein?.
Si, lo que lees. Crystal Reports permite generar "informes" con multitud de formatos, grupos, esquemas, etc. Y lo dicho, se utiliza muchísimo en el ámbito profesional.

Pues bien, cuando por primera vez queremos añadir un informe (*.rpt) a nuestra solución, el IDE de Visual Studio nos redirige a la página de Crystal Reports (ahora perteneciente a SAP) para descargar el paquete de instalación, runtimes, y merged modules.

Bien, una vez finalizada la instalación ("sólo" son 250 megas de nada) ya podremos añadir reports a nuestros proyectos.

Ete aquí donde empiezan los "problemas".

Por defecto, una solución en VS2010 se inicia para ser compilada con el .NET Framework 4
Esto no es "del todo cierto" como veremos más adelante. En realidad se inicia para ser compilada con el .NET Framework 4 Client Profile

Pues bien, El formulario no tiene nada de código.  Añadimos un report (totalmente en blanco y sin "linkar" a ninguna BDD) a nuestro proyecto:

Repito que no hay ni código en el formulario ni en el report.
Ejecutamos y esto es lo que obtenemos (yo con cara de aiba-la-ostia-patxi) :

Cómo véis, hay errores y warnings a "tutiplén" y eso que no hemos escrito ni una sola línea de código.

Examinamos todos los archivos de la solución activando la opción adecuada:

Al insertar un report en nuestra solución / proyecto, además del archivo *.rpt, se genera automáticamente un archivo *.vb (*.cs en caso de C#)
Abrimos ese archivo en la vista de código y observamos esto:


(Haz click para agrandar)

Se puede observar que hay multitud de objetos que no están referenciados y que el VS2010 no entiende y por ende genera todos los errores que vimos antes.

Soluciones quiero!!!

La solución en este caso es "simple". Basta con cambiar el target del .NET Frameword de la aplicación y establecer el .NET Framework 4:


(haz click para agrandar)

Mencionar que esta versión de Crystal Reports para VS2010 tambien se puede usar si el target es .NET Framework 3.5, pero no con las versiones "Client Profile" ya bien sean Client Profile de .NET Framework 3.5 o .NET Framework 4

Pues bien, al cambiar de target a .NET Framework 4 desaparecen todos los errores y warnings y la aplicación compila sin errores:


(Haz click para ampliar)

Bien, a priori parece que todo está solucionado, pero como siempre hay un "pero", y éste no es tan obvio con el problema anterior.

El tema es cuando añadimos a nuestra solución un proyecto de instalación.
Como sabréis los proyectos de instalación generan un *.msi que instala todos los "requisitos previos".
De esta forma, nos aseguramos que nuestra aplicación se va a ejecutar correctamente en un PC distinto al PC de desarrollo.

Pues bien, añadimos un nuevo proyecto de instalación como lo haciamos en las versiones anteriores de Visual Studio:


(Haz click para agrandar)

En los requisitos previos de la instalación marcamos el .NET Framework, el Windows Installer 3.1 y como utilizamos Crystal Reports pues el "SAP Crystal Reports for .NET Framework 4.0"

En mi caso particular, especifico que los requisitos previos estan en la misma ubicación que la aplicación. De esta forma una vez "compilado todo el proyecto", dispondremos de una carpeta donde están todos los archivos necesarios. Esta carpeta se quema en un CD/DVD y se entrega al cliente/amigo/cuñado/Señor X:


(Haz click para agrandar)

Vale, vamos a generar la instalación y ocurre esto (¿ Lol ?):


(Haz click para agrandar)

Como véis, hay dos archivos que el compilador no puede encontrar y por lo tanto, no puede generar la instalación.

Soluciones quiero!!!

Por raro que parezca, la instalación de Crystal Reports "no instala" los runtimes en la carpeta que usa Visual Studio para almacenar los "requisitos previos".

Esta carpeta, conocida como BootStrapper está en  la siguiente ubicación:


(Haz click para agrandar)

Si que existe una carpeta llamada Crystal Reports for .NET Framework 4.0 pero no estan los runtimes:


(Haz click para agrandar)

La solución es copiar los runtimes de Crystal Reports (tanto de 32 como de 64 bits) aquí dentro:


(Haz click para agrandar)

Con esta "sencilla" operación la compilación del proyecto de instalación ya no genera error. Remarco lo de "sencilla" porque casi me vuelvo loco para averiguar por que diantres pasaba esto. 


Bonus Track

Ocurre una cosa parecida si indicamos como requisito previo el .NET Framework 3.5 SP1
Al generar la solución de instalación se producen un monton de errores indicando que tal o cual archivo no ha podido ser encontrado y por lo tanto la instalación no se genera correctamente.

Si mirarmos en la carpeta del bootstrapper del DotNetFX35SP1 vemos también está vacia:


(Haz click para agrandar)

y lo mismo en la subcarpeta del idioma español:


(Haz click para agrandar)

Soluciones quiero!!!

Pues hay que bajarse dos cosas:

1) el .NET Framework 3.5 SP1 y copiarlo en la carpeta DotNetFX35SP1:


(Haz click para agrandar)

Además hay que modificar el archivo product.xml de la siguiente forma:

hay que añadir estas 3 líneas:

<PackageFile Name="TOOLS\clwireg.exe"/>
<PackageFile Name="TOOLS\clwireg_x64.exe"/>
<PackageFile Name="TOOLS\clwireg_ia64.exe"/> 

y ponerlas justo debajo de 

<PackageFiles CopyAllPackageFiles="IfNotHomeSite">

además hay que cambiar la PublicKey de

<PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe"

y de 

<PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe"

Hay que establecer para los dos archivos anteriores la siguiente PublicKey:

PublicKey="3082010A0282010100A2DB0A8DCFC2C1499BCDAA3
A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5
D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B1468
80DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE
361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A288
5758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8
073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94
F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A2
16B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B
28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B7
07CEE554D77D2085576810203010001 " />

 

2) También hay que bajarse "los textos" del .NET Framework 3.5 SP1 en español

Dentro de la carpeta \es hay que crear un carpeta llamada DotNetFX35:


(Haz click para agrandar)

y dentro de esa carpeta hay que crear estas dos carpetas


(Haz click para agrandar)

y dentro de cada una de esas dos carpetas copiar los "textos" en español que nos acabamos de bajar

 

Bien, aprovecho para comentar que VS 2010 no me acaba de gustar, me da la sensación que el entorno es más lento que el VS 2008, bueno, no es una sensación, el mismo proyecto (sobre unos 130 archivos entre clases, formularios y demás) tarda más en cargar en VS 2010 que en VS 2008.
Además la fuente que han escogido para el IDE ("consolas") me parece horrosa a más no poder, la colocación de las distintas ventanas aún no me acaba de convencer, el nuevo sistema de ayuda en modo off-line tarda en inicializarse.

En fín que seguiré trasteando con él a ver que nos depara el futuro :)

Links útiles:

Crystal Reports (versión 13 con SP1) para Visual Studio 2010

.NET Framework 3.5 Service Pack 1 (paquete completo)
Paquete de idioma (Español) de Microsoft .NET Framework 3.5 SP1
Hilo de la MSDN para sobre los "errores" del tema del .NET Framework 3.5 SP1 

La información interesante sobre la PublicToken y la modificación del product.xml está en la sección 2.3.1.1 de este documento .Aunque en el título ponga Visual Studio 2008, lo que se explica es válido para el VS 2010, ya que se trata sobre el Service Pack 1 del .NET Framework 3.5 : http://download.microsoft.com/download/A/2/8/A2807F78-C861-4 B66-9B31-9205C3F22252/VS2008SP1Readme.htm

 

Tutoriales relacionados:
.NET Tutorial 47. Visual Studio 2010, Crystal Reports y RecordSelectionFormula

.NET Tutorial 55. Crystal Reports, aplicaciones x86 y Windows de 64 bits  

Saludos.
mov eax,ollydbg; Int 13h 

 



Ollydbg ProSignature

 

4
Valoración media: 4 (1 voto)

15 Comentarios:

Duda???

Que Buen Toturiallllll....... Hice lo Que Esta en el tuto y la compilacion del proyecto de instalacion fue correcta, pero a la hora de instalar la aplicacion me manda este error Setup has detected that the publisher of file 'C:\DOCUME~1\Private\CONFIG~1\Temp\VSD1A5.tmp\Crystal Reports for .NET Framework 4.0\CRRuntime_64bit_13_0_1.msi' cannot be verified. no se a que se refiera este error... espero me ayuden a solucionarlo, de antemano gracias

Respuesta!!

Ya resolví el problema XD....... El archivo .msi de crystal reports estaba corrupto lo baje de nuevo y listooooooooooooo!!!!! .... X si alguien tiene el mismo errorrr... XD Chaoooo

Problemas para bajar el instalador de Crystal

Buenas: tengo problemas para bajar el instalador del crystal, sabes de algun link dinde pueda bajarlo, sin tener que ir al SAP gracias Nuncia

Descarga Crystal

Descarga Crystal Reports.

Hmmm...acabo de verificar el link que puse en su día y que tienes al final de este post y no he tenido ningún problema en descargar el "SAP Crystal Reports, version for Visual Studio 2010 - Standard"

¿Qué error te dá?

Saludos.
mov eax,ollydbg; Int 13h  

No se pudo instalar el componente SAP Crystal Reports Runtime

Que tal. Una consulta, como puedo dar la secuencia de intalación. pues me sale el siguiente error una vez que quiero instalar en el cliente.

No se pudo instalar el componente SAP Crystal Reports Runtime Engine for .NET Framework 4.0 y apareció el siguiente mensaje de error: "Error grave durante la instalación. "

DotNetFX40

WindowsInstaller4_5 

Crystal Reports for .NET Framework 4.0

Asumo que inicia instalando el Crystal Report y como no encuentra el Netframework 4.0 genera error.

¿Como puedo gestionar una secuencia de ejecuciòn o dependencia automatica.?

 

muy bueno tu post

muy bueno tu post parcero...me has salvado de un lio mañana debo entregar ese instalador y estaba como loco por que no tenia una solucion..gracias!!

Secuencia de Instalacion

Hola a mi me salio el instalador copiando los runtimes en el bootstrap (de hecho ese comentatio iba a ser para felicitar al autor de esto ....recalco el iba) .... pero solo funciono una vez la segunda por alguna razon el orden de instalacion se altero y se intenta instalar crystal reports antes que el framework 4 alguien sabe que pudo haber pasado o como establecer un orden en la instalacion de requerimientos? muchas gracias de antemano

Hello There. I found your

Hello There. I found your blog using msn. This is a really well written article. I’ll make sure to bookmark it and return to read more of your useful info. Thanks for the post. I will definitely comeback. reverse cell phone lookup

consulta

Hola a Todos, queria saber si alguno de ustedes tubo este mismo conflicto con Crystal Report para VS 2010 con framework 3.5, se ejecuta un reporte 'X' y se cuelga cerrándote toda la aplicación, Se agradece su ayuda. (CRforVS_13_0 framework 4.0), ¿Cual es la ultima versión de crystal report que este funcionando bien para VS 2010 Español? Ayuda por favor

pablo

me autorespondo, installe CR 2010 version 13_0_3 y todo dio bien, mi problema era el runtime para 64 bits. probelam solucionado gracias

Crystal Report y VStudio 2010

Buen día. Estuve checando tu tutorial, muy bien por cierto. Pero tengo un problema, al momento de poner el ejecutable en las PCs de las demas personas, me envia un mensaje. Error al cargar el informer o Error no se puede cargar el informe. A mi proyecto lo cambie a .Net F4.0 y compile el proyecto, lo ejecute bueno en mi equipo no tengo problemas. Solo en los equipos cliente solo le instarle el CRRuntime_32bit_13_0_4, me pueden ayudar que me hace falta?? Gracias.

@Eloy

Hola Eloy, ¿Qué tal?

Sobre el problema que comentas tienes que realizar lo siguiente.

En el fichero app.config que tienes que tener en tu explorador de soluciones tienes que añadir/modificar la siguiente linea:

<startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0"/></startup>

Compila tu solución con dicha modificación y ahora en los PCs "clientes" no tendrías que tener ningún problema.

Ya nos contarás 

 

Saludos.

mov eax,ollydbgInt 13h  

consulta problema cystal report 13 con visual basic 2010

i me puede orientar por favor me esta sacando canas verde esto Error del analizador Descripción: Error al analizar el recurso requerido para dar servicio a esta solicitud. Revise los detalles de error de análisis específicos y modifique el archivo de código fuente en consecuencia. Mensaje de error del analizador: La clase base incluye el campo 'CrystalReportViewer1', pero su tipo (CrystalDecisions.Web.CrystalReportViewer) no es compatible con el tipo de control (CrystalDecisions.Web.CrystalReportViewer). Error de código fuente: Línea 14: Línea 15: Línea 16: http://go.microsoft.com/fwlink/?LinkId=169433 -->

... Y Estas carpetas como TOOL donde la encuentro?

Veo que esta imagen ya hay carpetas TOOL y las demas, cosa que ami no se me muestra, al igual que a ti de primero, quisiera saber como solucionarlo... http://dl.dropbox.com/u/4152145/blogs.gamefilia.com.ollydbg/ Tutorial46/i...

Solucionado

La solucion es esta.... Download and Extract the Core Installation Files 1. Navigate to the following URL: http://go.microsoft.com/fwlink?LinkID=118080 2. Download the dotNetFx35.exe file to your local disk. 3. Open a Command Prompt window and change to the directory to which you downloaded dotNetFx35.exe. At the command prompt, type: dotNetFx35.exe /x:. This will extract the Framework files to a folder named “WCU” in the current directory. 5. Copy the contents of the WCU\dotNetFramework folder and paste them in the %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 folder (%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 on x64 operating systems). Note: Do not copy the WCU\dotNetFramework folder itself. There should be 5 folders under the WCU folder, and each of these should now appear in the DotNetFx35SP1 folder. The folder structure should resemble the following: o DotNetFx35SP1 (folder) dotNetFX20 (folder dotNetFX30 (folder) dotNetFX35 (folder) dotNetMSP (folder) TOOLS folder) en (or some other localized folder) dotNetFx35setup.exe (file)