Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Obtener versiones de .Net Framework instaladas C#
Lenguaje de programación Visual C# .Net

Función que obtiene en una lista todas las versiones de .Net Framework instaladas en el equipo.


        public List obtenerVersionesNETFramework()
        {
            List listaVersiones = new List();

            using (RegistryKey claveVersiones =
                RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
                RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
            {                
                foreach (string claveVersionNETFramework in claveVersiones.GetSubKeyNames())
                {
                    if (claveVersionNETFramework.StartsWith("v"))
                    {
                        RegistryKey versionKey = claveVersiones.OpenSubKey(claveVersionNETFramework);
                        string version = (string)versionKey.GetValue("Version", "");
                        string servicePack = versionKey.GetValue("SP", "").ToString();
                        string install = versionKey.GetValue("Install", "").ToString();
                        if (install == "") //si no se obtiene versión lo haremos más adelante
                            listaVersiones.Add(claveVersionNETFramework + "  " + version);
                        else
                        {
                            if (servicePack != "" && install == "1")
                            {
                                listaVersiones.Add(claveVersionNETFramework + "  " + version + "  SP" + servicePack);
                            }
                        }
                        if (version != "")
                        {
                            continue;
                        }
                        foreach (string subKeyName in versionKey.GetSubKeyNames())
                        {
                            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                            version = (string)subKey.GetValue("Version", "");
                            if (version != "")
                                servicePack = subKey.GetValue("SP", "").ToString();
                            install = subKey.GetValue("Install", "").ToString();
                            if (install == "")
                                listaVersiones.Add(claveVersionNETFramework + "  " + version);
                            else
                            {
                                if (servicePack != "" && install == "1")
                                {
                                    listaVersiones.Add("  " + subKeyName + "  " + version + "  SP" + servicePack);
                                }
                                else if (install == "1")
                                {
                                    listaVersiones.Add("  " + subKeyName + "  " + version);
                                }
                            }
                        }
                    }
                }
            }
            return listaVersiones;
        }
Ejemplo de uso:
            List listaVersiones = new List();
            
            listaVersiones = obtenerVersionesNETFramework();

            string versiones = "";
            foreach (string version in listaVersiones)
            {
                versiones = versiones + ", " + version;
            }
            MessageBox.Show (versiones);
        }




Publicado el: 2013-07-31

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A