Ctrl+Alt+Supr, blog de Ollydbg
.MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start
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:
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:
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:
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:
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:
Vale, vamos a generar la instalación y ocurre esto (¿ Lol ?):
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:
Si que existe una carpeta llamada Crystal Reports for .NET Framework 4.0 pero no estan los runtimes:
La solución es copiar los runtimes de Crystal Reports (tanto de 32 como de 64 bits) aquí dentro:
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:
y lo mismo en la subcarpeta del idioma español:
Soluciones quiero!!!
Pues hay que bajarse dos cosas:
1) el .NET Framework 3.5 SP1 y copiarlo en la carpeta DotNetFX35SP1:
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:
y dentro de esa carpeta hay que crear estas dos carpetas
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
.MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start
Nuevos enlaces descargas Tutoriales
1 al 24, MouseOdometerNET, PingScanner y
OllySecrets (1 y 2) (Actualización 05/02/2011)

15 Comentarios:
Duda???
2 de Mayo de 2011 • 21:14 — Ruben (invitado)Respuesta!!
2 de Mayo de 2011 • 22:57 — Invitado (invitado)Problemas para bajar el instalador de Crystal
24 de Julio de 2011 • 15:28 — Invitado (invitado)Descarga Crystal
25 de Julio de 2011 • 17:05 — OllydbgDescarga 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
25 de Noviembre de 2011 • 18:31 — wnarreaQue 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
15 de Enero de 2012 • 19:36 — Invitado (invitado)Secuencia de Instalacion
14 de Abril de 2012 • 04:47 — brian (invitado)Hello There. I found your
28 de Abril de 2012 • 00:36 — Invitado (invitado)consulta
26 de Junio de 2012 • 15:14 — PAblo (invitado)pablo
28 de Junio de 2012 • 18:28 — Invitado (invitado)Crystal Report y VStudio 2010
16 de Agosto de 2012 • 00:51 — Eloy (invitado)@Eloy
16 de Agosto de 2012 • 13:46 — OllydbgHola 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,ollydbg; Int 13h
consulta problema cystal report 13 con visual basic 2010
18 de Enero de 2013 • 16:17 — DJNILO (invitado)... Y Estas carpetas como TOOL donde la encuentro?
14 de Febrero de 2013 • 06:03 — Tommy (invitado)Solucionado
14 de Febrero de 2013 • 06:55 — Tommy (invitado)