Partilhar via


Como determinar quais atualizações de segurança e hotfixes do .NET Framework estão instalados

Este artigo mostra como descobrir quais atualizações de segurança e hotfixes do .NET Framework estão instalados em um computador.

Histórico de atualizações

Para ver quais atualizações do .NET Framework estão instaladas em seu próprio computador, em Configurações, navegue até o histórico do Windows Update>Update. Procure atualizações do .NET Framework na seção Atualizações de qualidade . Por exemplo, você pode ver uma atualização semelhante a "Atualização cumulativa 2023-11 para .NET Framework 3.5 e 4.8.1 para Windows 11, versão 22H2 para x64 (KB5032007)".

Registo

Você pode consultar o Registro usando o Editor do Registro, o código ou o PowerShell.

Nota

Todas as técnicas de registro exigem uma conta com privilégios administrativos.

Usar o Editor do Registro

As atualizações de segurança instaladas e hotfixes para cada versão do .NET Framework instalado em um computador estão listados no registro do Windows. Você pode usar o programa Editor do Registro (regedit.exe) para exibir essas informações.

  1. Abra o programa regedit.exe. No Windows 8 e versões posteriores, clique com o botão direito do rato em IniciarCaptura de ecrã do logótipo da tecla Windows. e, em seguida, selecione Executar. Na caixa Abrir, digite regedit e selecione OK.

  2. No Editor do Registro, abra a seguinte subchave:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Atualizações

    As atualizações instaladas são listadas em subchaves que identificam a versão do .NET Framework à qual se aplicam. Cada atualização é identificada por um número da Base de Dados de Conhecimento (KB).

No Editor do Registro, as versões do .NET Framework e as atualizações instaladas para cada versão são armazenadas em subchaves diferentes. Para obter informações sobre como detetar os números de versão instalados, consulte Como determinar quais versões do .NET Framework estão instaladas.

Consulta usando código

O exemplo a seguir determina programaticamente as atualizações de segurança e hotfixes do .NET Framework instalados em um computador:

using System;
using Microsoft.Win32;

public class GetUpdateHistory
{
    public static void Main()
    {
        using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\Updates"))
        {
            foreach (string baseKeyName in baseKey.GetSubKeyNames())
            {
                if (baseKeyName.Contains(".NET Framework"))
                {
                    using (RegistryKey updateKey = baseKey.OpenSubKey(baseKeyName))
                    {
                        Console.WriteLine(baseKeyName);
                        foreach (string kbKeyName in updateKey.GetSubKeyNames())
                        {
                            using (RegistryKey kbKey = updateKey.OpenSubKey(kbKeyName))
                            {
                                Console.WriteLine("  " + kbKeyName);
                            }
                        }
                    }
                }
            }
        }
    }
}

Imports Microsoft.Win32

Public Class GetUpdateHistory
    Public Shared Sub Main()
        Using baseKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\Microsoft\Updates")
            For Each baseKeyName As String In baseKey.GetSubKeyNames()
                If baseKeyName.Contains(".NET Framework") Then
                    Using updateKey As RegistryKey = baseKey.OpenSubKey(baseKeyName)
                        Console.WriteLine(baseKeyName)
                        For Each kbKeyName As String In updateKey.GetSubKeyNames()
                            Using kbKey As RegistryKey = updateKey.OpenSubKey(kbKeyName)
                                Console.WriteLine("  " & kbKeyName)
                            End Using
                        Next
                    End Using
                End If
            Next
        End Using
    End Sub
End Class

O exemplo produz uma saída semelhante à seguinte:

Microsoft .NET Framework 4 Client Profile
  KB2468871
  KB2468871v2
  KB2478063
  KB2533523
  KB2544514
  KB2600211
  KB2600217
Microsoft .NET Framework 4 Extended
  KB2468871
  KB2468871v2
  KB2478063
  KB2533523
  KB2544514
  KB2600211
  KB2600217

Consulta usando o PowerShell

O exemplo a seguir mostra como determinar as atualizações de segurança e hotfixes do .NET Framework instalados em um computador usando o PowerShell:

$DotNetVersions = Get-ChildItem HKLM:\SOFTWARE\WOW6432Node\Microsoft\Updates | Where-Object {$_.name -like
 "*.NET Framework*"}

ForEach($Version in $DotNetVersions){

   $Updates = Get-ChildItem $Version.PSPath
    $Version.PSChildName
    ForEach ($Update in $Updates){
       $Update.PSChildName
       }
}

O exemplo produz uma saída semelhante à seguinte:

Microsoft .NET Framework 4 Client Profile
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
Microsoft .NET Framework 4 Extended
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217

Consulte também