Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Elvis Enmanuel en 16 de Junio de 2007, 09:13:47 PM

Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 16 de Junio de 2007, 09:13:47 PM
¿Alguien más puede confirmar esto?

Resulta que el otro día en el trabajo nos dió por probar nuestra aplicación en un ordenador con windowsXP, y nos pedía una serie de dll's como msjava.dll, coredll.dll, étc. El programa en sí no usa nada extraño de .NET, sólo c++ pelao con openGL. Tras una hora buscando y cambiando versiones de dll's todo se arregló al instalar el .NET framework (creo que era el 2.0) dado que ese equipo no lo tenía instalado. Nótese que símplemente no dejaba ejecutar la aplicación sin dar ningún tipo de información sobre dll's o .NET.

De ser cierto esto los de MicroSoft nos la han debido de meter doblada al obligar al usuario a descargarse la actualización y/o a nosotros a incluirla en nuestros juegos. Ya no sólo es la msvc8.dll (creo que se llamaba así).

veo dolor...

ains.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: alberizo en 16 de Junio de 2007, 11:50:13 PM
Creo recordar que puedes desactivarlo en las propiedades del proyecto.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 17 de Junio de 2007, 12:29:01 AM
Bueno, al menos yo no he encontrado nada referente a .NET/ framework/managed/loquesea_nuevo en las opciones de proyecto. Si es eso y puedes confirmarme la opción que es te lo agradeceré.

Vamos chicos, necesito pruebas para odiar un poquito más a microsoft!!! :)

ains
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: ethernet en 17 de Junio de 2007, 01:05:43 PM
quizás el CRT tenga link al framework .NET. De todas formas es raro.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 17 de Junio de 2007, 01:29:14 PM
Visual C++ Express == Microsoft regalando algo???

No se, pero puede tener su (rebuscada) lógica. Según tengo entendido la filosofía .NET es la de permitir usar varios lenguajes en un mismo entorno. Visto así no parece tan descabellado que todo lo que se haga con el Visual Studio contenga datos sobre como integrarse con el resto de componentes.

¿A alguien le ha petado un juego/aplicación en un equipo donde no estuviese el service pack instalado?

ains
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: synchrnzr en 17 de Junio de 2007, 07:35:08 PM
En Debug siempre se generan dependencias, pero en Release seguro que te las puedes quitar de encima. Asegúrate que en la configuración del proyecto que tienes la compatibilidad con Common Language Runtime desactivada. No recuerdo que hubiera que hacer nada más, tal vez había algo pero ahora mismo no caigo :)

sync
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: [EX3] en 17 de Junio de 2007, 08:55:57 PM
Que yo sepa el Visual C++ 2005, edicion Profesional y Express,  permite tanto desarrollo clasico sin .NET (al igual que con Visual C++ 6.0) o con .NET (variante conocida como C++ CLI).

Salu2...
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: tamat en 17 de Junio de 2007, 11:47:58 PM
Con Visual Studio 2005 necesitaras .NET siempre, eso que a ti te ha pasado me pasó a mi hace poco, solía compilar con Visual 6 hasta que me pasé al 2005, y descubrí que mis EXEs ya no iban en todos los PCs. Luego vi que se arreglaba instalando .NET.

Simplemente el 2005 genera ejecutables con dependencias que no van directamente al sistema, si no que pasan por algo que está dentro de .NET.

Es una putada, por eso tengo instalados el 2003 y el 2005, para sacar versiones distribuibles.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Pablo Zurita en 18 de Junio de 2007, 12:21:04 AM
No, no es así. No es necesario .NET usando C++ común y silvestre. Lo único que hace falta es tener las DLLs del CRT y demás. Esas DLLs están incluidas en .NET pero también están disponibles en un paquete mucho más pequeño de 2.6MBs que está en http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 18 de Junio de 2007, 01:15:54 AM
Por cierto, el proyecto estaba en release.

o sea... que sí requiere nuevas dependencias :S
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: fiero en 18 de Junio de 2007, 02:54:46 AM
Cita de: "Pablo Zurita"No, no es así. No es necesario .NET usando C++ común y silvestre. Lo único que hace falta es tener las DLLs del CRT y demás. Esas DLLs están incluidas en .NET pero también están disponibles en un paquete mucho más pequeño de 2.6MBs que está en http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee

uy uy... que miedo. Me quedo con el VC6 por ahora, que ese "Microsoft Visual C++ 2005 Redistributable Package" no me gusta ná de ná.

Gracias por la info.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: ethernet en 18 de Junio de 2007, 08:07:31 AM
Cita de: "fiero"
Cita de: "Pablo Zurita"No, no es así. No es necesario .NET usando C++ común y silvestre. Lo único que hace falta es tener las DLLs del CRT y demás. Esas DLLs están incluidas en .NET pero también están disponibles en un paquete mucho más pequeño de 2.6MBs que está en http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee

uy uy... que miedo. Me quedo con el VC6 por ahora, que ese "Microsoft Visual C++ 2005 Redistributable Package" no me gusta ná de ná.

Gracias por la info.

ahí estamos, VC6.0 hasta la muerte.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Vicente en 18 de Junio de 2007, 08:23:26 AM
Mmm, Aza compilaba la CRM32Pro con VS2005 sin nada extraño creo, lo mismo puede darnos un poco de información del tema...
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 18 de Junio de 2007, 09:46:24 AM
Según la versión de un compañero es debido al manifest que te genera para ser compatible con windows vista. La cosa es que en el XP sin manifest si que no tira.

También según este compañero si se ejecuta una aplicación compilada con la versión 6.0 (y con el gcc pasará igual, I suppose) nos dará un aviso sobre lo malicioso que es nuestro programita que no está compilado con la nueva versión .NETdelamuerte ni firmado digitalmente.

vaya cracks!!
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Vicente en 18 de Junio de 2007, 07:42:40 PM
Cita de: "Elvis Enmanuel"Según la versión de un compañero es debido al manifest que te genera para ser compatible con windows vista. La cosa es que en el XP sin manifest si que no tira.

También según este compañero si se ejecuta una aplicación compilada con la versión 6.0 (y con el gcc pasará igual, I suppose) nos dará un aviso sobre lo malicioso que es nuestro programita que no está compilado con la nueva versión .NETdelamuerte ni firmado digitalmente.

vaya cracks!!

Cualquier cosa que no vaya firmada en Vista te dará ese aviso de cuidao que puede ser peligroso. Da igual con que lo hayas hecho o lo hayas dejado de hacer. Busca por UAC :)

Un saludo,

Vicente
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: ethernet en 18 de Junio de 2007, 07:56:53 PM
En windows CE hace tiempo que ya te da un aviso de que la aplicación no está firmada. Solo te lo dice una vez, pero puaj.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Pogacha en 18 de Junio de 2007, 10:19:46 PM
En esta discución hay buena info sobre el tema:
http://www.stratos-ad.com/forums3/viewtopic.php?t=5605&highlight=&sid=e13b6d67fe183cf277d4f2c3b1d8c459

Yo no lo he probado nunca y por eso no se si es así, si fué así y ahora cambió o que, pero si les interesa probar :)

Saludos!
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 18 de Junio de 2007, 11:11:15 PM
Pues parece que si que nos la han metido doblada :S

Gracias a todos por las respuestas, chatos!

ains
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Vicente en 18 de Junio de 2007, 11:19:47 PM
Cita de: "Elvis Enmanuel"Pues parece que si que nos la han metido doblada :S

Gracias a todos por las respuestas, chatos!

ains

Ein?
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 18 de Junio de 2007, 11:40:55 PM
Lo que comentaba al principio, cuando MicroSoft empezó a "regalar" el Visual 2005 Express, nos coló un caballo de troya.

Quiero decir que no nos libramos de incluir el NET framework en los juegos que hagamos (aunque no usemos nada de .NET) si no queremos que algún usuario despistado nos llame diciendo que le sale no-se-que-mensaje-raro al intentar ejecutar la aplicación.

ains
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Pablo Zurita en 18 de Junio de 2007, 11:59:03 PM
Creo que deje claro en mi post que no es necesario todo el .NET framework, solo necesitas el CRT runtime (en Vista no lo necesitas). Igual si no te gusta eso podes usar otros compiladores e IDEs.
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Pogacha en 19 de Junio de 2007, 12:03:36 AM
o sea ... se puede generar nativo al igual que el VC6.0, pero al usuario de tu exe le saldrá un cartel molesto que con VC6.0 no?
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Vicente en 19 de Junio de 2007, 12:19:57 AM
Elvis Enmanuel: el post ese no dice nada de que necesites el .NET para usar VS2005C++ Express (o yo lo he leido muy mal). Al contrario ese post desmiente tal afirmación (o he vuelto a leer muy mal).

Pogacha: el cartelito del UAC de vista no tiene nada que ver con la herramienta con la que hagas la aplicación.

Un saludo,

Vicente
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 19 de Junio de 2007, 02:06:45 AM
Pablo:

De todas formas hacen falta ficheros extra que antes no hacían falta, incluso una "versión reducida".
Yo uso gcc con code::blocks (aunque en mi casa, vaya), en el trabajo estamos usando el Visual Studio a base de bién.

Vicente:

Lo de que salga una ventanita de aviso en el vista me lo comentó un compañero, yo no lo he probado.

ains
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Elvis Enmanuel en 19 de Junio de 2007, 02:34:06 AM
Bueno, lo último no ha quedado muy claro, creo que se podría resumir así:

Un ejecutable programado en c++ con una versión superior a Visual Studio 6.0 requiere nuevas dll's que vienen incluidas en el .NET framework, o (como bién dijo Pablo) en el Redistributable Package c++ 2005.

Copio-pego:

"The Microsoft Visual C++ 2005 Redistributable Package (x86) installs runtime components of Visual C++ Libraries required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2005 installed."

...librerías necesarias para ejecutar aplicaciones desarrolladas con Visual C++ en un ordenador que no tenga Visual C++ 2005 instalado.

Claro, claro el usuario final tendrá el Visual Studio instalado :p

Lo que quiero decir, es: ¿Desde cuando para ejecutar un .exe hecho en c++ nos ha hecho falta instalar el runtime del compilador como si fuesen las directX?

No se, a mi es que no me gusta eso de andar instalando dependencias para ejecutar mi aplicación.

Lo del UAC parece un daño colateral del vista :)

ains
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Vicente en 19 de Junio de 2007, 08:21:08 AM
Pues mira, tenías razón en que hace falta instalar algo más, no mola la idea la verdad... (habrá que ver si están relacionadas con el Platform SDK o que...). Pero lo que está claro es que eso no es .NET. Ya nos gustaría a los desarrolladores de .NET, que el Framework ni siquiera es descarga obligatoria en el XP con Windows Update por problemas de monopolio, aunque con Vista se termina este problema.

Respecto al UAC vale para muchas cosas:

a) para que a un usuario no se le instalen cosas que el no quiere si no las confirma. Parece una chorrada, pero es útil (a mi el Supreme Commander por ejemplo intentó instalarme el Securom y en XP me lo habría comido con patatas). En mi PC actualmente solo tengo que lanzar el VS Studio con permisos elevados (por el debugger) y el Eve Online (cuando se tiene que parchear).
b) para que el usuario al que se le instalan cosas sin que las confirme él no demande a MS (made in USA).

Al que no le guste que lo desactive, se puede quitar y listo. Un saludo,

Vicente
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: ethernet en 19 de Junio de 2007, 08:30:19 AM
Umh, ya me doy cuenta. Si compilas con una versión superior a vc6.0 vas a necesitar las librerías del CRT que no vienen incluídas en windows xp por defecto y que se instalan junto con el framework, aunque las puedes bajar sin necesidad de instalar .net.

Yo he compilado cosas con vs2005 en C++ sin necesidad nada aparte de las crt correspondientes a la versión de las cabeceras con las que compilaba. De hecho en demoscene mucha gente seguía usando vc6.0 porque en las instalaciones de windows XP no tenían la CRT nueva necesaria.

En conclusión, no es lo mismo que necesites un runtime adecuado a necesitar todo el .net instalado. Es como si criticasemos a linux porque necesitas una libstd o lo que te de la gana que no corresponde con la versión que tú tienes instalado en el sistema. Acaso no has tenido que hacer mil veces update de dependencias en linux para correr algún software?

A veces nos cegamos con microsoft sin razón
Título: ¿NET framework necesario para programas hechos solo en C++?
Publicado por: Vicente en 19 de Junio de 2007, 08:37:18 AM
Por cierto, para el que quiera leer más cosas de UAC:

http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC/default.aspx?loc=es

Seguro que en la MSDN hay un millón de artículos más. Un saludo,

Vicente