• Lunes 23 de Diciembre de 2024, 04:29

Autor Tema:  Como se sabe por medio de CODE que un PC tiene el .NETFramew  (Leído 1690 veces)

Jimbenit

  • Miembro MUY activo
  • ***
  • Mensajes: 269
  • Nacionalidad: co
    • Ver Perfil
    • http://ingenieriacivil.foroactivo.com
Como se sabe por medio de CODE que un PC tiene el .NETFramew
« en: Miércoles 18 de Marzo de 2009, 19:16 »
0
Hola a todos...

Como se sabe por medio de CODE que un PC tiene el .NETFramework?

Nota:
Estoy trabajando en el VB2005.

Saludos y gracias por leer este tema.


Yo quiero mucho a Toph ---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Como se sabe por medio de CODE que un PC tiene el .NETFramew
« Respuesta #1 en: Jueves 19 de Marzo de 2009, 17:09 »
0
Es sencillo...
Código: vb.net
  1.  
  2.         Dim framW As String  
  3.         Dim rev As String
  4.  
  5.         With System.Environment.Version
  6.             framW = .Major & "." & .Minor & "." & .Build
  7.             rev  = .Revision
  8.         End With
  9.         MsgBox("Framework: " & framW & " revisión: " & rev )
  10.  
  11.  

...claro que por otro lado, no es muy aparente...
por cierto, a las bravas podrías localizarlo buscando la carpeta en ...C:WINDOWSMicrosoft.NETFramework ... leyendo los nombres de las carpetas, tal que son: vX.Y.zzzzz donde x es el 'mayor, y el 'minor'  y z el 'biuld' la por tanto un trabajo de strings retirando la 'v' de (versión) y comparando se sabe cual es la versión más actualizada... claro que existe la posibilidad de que uno cree (y por tanto falsifique) una carpeta de nombre similar... pero bueno para un último recurso valdría...

Aquí lo básico, luego sería cuestiónde hacer un bucle examinado lo antedicho con la matriz carp (carpetas)
Código: vb.net
  1.  
  2.         Dim Sf_sistema As String = System.Environment.SpecialFolder.System  & "Microsoft.NETFramework"
  3.         Dim carp() As String = System.IO.Directory.GetDirectories(Sf_sistema)
  4.         for k=0 to carp.length
  5.           '  comprobar lo anteriormente indicado...
  6.         next
  7.  
  8.  
« última modificación: Jueves 19 de Marzo de 2009, 17:21 por Nebire »
«Ma non troppo»
----> ModoVacaciones = False<----

Jimbenit

  • Miembro MUY activo
  • ***
  • Mensajes: 269
  • Nacionalidad: co
    • Ver Perfil
    • http://ingenieriacivil.foroactivo.com
Re: Como se sabe por medio de CODE que un PC tiene el .NETFramew
« Respuesta #2 en: Jueves 19 de Marzo de 2009, 17:15 »
0
Nebire gracias....

Una consulta (y creo que es la última de mi aplicación)

Me encuentro en la parte de creación del instalador, pero al intentar instalar el framework en Windows XP (en algunos PC) me produce un error, me dice que falta el archivo netfx2.msi, ¿Has tenido alguna vez el mismo error?, ¿Como lo solucionas?...

Saludos.


Yo quiero mucho a Toph ---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Como se sabe por medio de CODE que un PC tiene el .NETFramew
« Respuesta #3 en: Jueves 19 de Marzo de 2009, 17:35 »
0
Cita de: "Jimbenit"
Nebire gracias....
Me encuentro en la parte de creación del instalador, pero al intentar instalar el framework en Windows XP (en algunos PC) me produce un error, me dice que falta el archivo netfx2.msi, ¿Has tenido alguna vez el mismo error?, ¿Como lo solucionas?...
Saludos.

La idea no debe ser que tu aplicación incoprpore el framework en el instalador por las siguientes razones:
   1 : aumenta mucho el volumen del instalador, si es una aplicación gratuita puede hacer desistir a mucha gente de instalar tal cosa para lo que se sopone que va a hacer
   2 : fuerzas a que quien lo vaya a instalar deba confiar en que la copia del framework que incluyes no contiene virus... esto no puedes ni garantizarlo tú, porque no es una apalicación tuya, no esperes que confíe nadie por tanto en ello.
   3 : Si se diera el caso, de que el framework incorporara un virus (muy a tu pesar), se te podría hacer responsable de alguna manera, aunque sólo fuera para sembrar desconfianza en ti.
   4 : Tu instalador puede quedar desfasado en cualquier momento.
   5 : quizás quiera instalar tu programa pero no el framework, quizás ya tenga uno más nuevo instalado o quizás tenga uno más viejo pero uno nuevo me ha dado determinados problemas que no quiera
repetir...
   6 : muy importante, el framework se provee en idiomas, sería adecuado que si existe disponibilidad se instale preferentemente el del idioma de la cultura del equipo donde se va a instalar o bien dejarle elegir... tampoco vas a incluir varios framework en tu instalador para satisfacer todas las posibilidades...
   7 : ...hay muchos más peros... no me entretengo ...

La solución adecuada es incluir en tu aoplicación la ruta de descarga del framework e indicarle al usuario si desea descargarlo, si dice que si compruebas que la dirección puede descargar el archivo , si es así lo descargas y al término lo lanzas (ejecutas) si no es así le señalas un enlace general  por ejemplo: http://www.microsoft.com/DOWNLOADS/Sear ... laylang=es

... y fíjate que cambiando al final 'es' por la adecuada le permites cambiar el idioma, para ser más exacto incluye un combobox donde le solicitas el idioma , y por defecto le dejas seleccionado el de su equipo, sólo tendrás que añadir unos caracteres para ambiar la ruta de descargas en el lenguaje deseado.

Por último si el usuario tiene problemas de instalación del framework, no es responsabilidad tuya, tu no fabricaste el framework, es de Microsoft, por tanto el soporte para resolver problemas deberá localizarlo el usuario, no tu y deberá buscarlo en Microsoft no recurrir a ti... que por otro lado si tu no lo has construído sabrás resolver cualquier problema que surja ?. sin lugar a dudas no.

Si todo esto no te convence allá tú... pero las cosas son tan claras como te las he explicado.

p.da.: mientras respondías el mensaje anterior, edité mi primer mensaje añadiendo explicaciones adicionales, quizás te interese volverlo a releer...
«Ma non troppo»
----> ModoVacaciones = False<----

Jimbenit

  • Miembro MUY activo
  • ***
  • Mensajes: 269
  • Nacionalidad: co
    • Ver Perfil
    • http://ingenieriacivil.foroactivo.com
Re: Como se sabe por medio de CODE que un PC tiene el .NETFramew
« Respuesta #4 en: Jueves 19 de Marzo de 2009, 17:46 »
0
Cita de: "[color=#40FF00
Nebire[/color]"]
p.da.: mientras respondías el mensaje anterior, edité mi primer mensaje añadiendo explicaciones adicionales, quizás te interese volverlo a releer...

Me interesa mucho, lo leo una y otra vez para sacarle todo el conocimiento que me sea posible.

De verdad, Gracias y Saludos.


Yo quiero mucho a Toph ---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]