Atualizando Windows Update Agent
Windows Update Agent (WUA) se atualiza por vários meios, dependendo da versão do Windows em execução no dispositivo. As versões antigas do WUA podem não ser capazes de se conectar aos serviços de atualização atuais, podem não ser compatíveis com todas as atualizações e podem não dar suporte a todas as APIs documentadas. Veja como garantir que o WUA seja totalmente atualizado e compatível.
Em versões do Windows começando com o Windows 7 e o Windows Server 2008 R2
as atualizações do WUA (Agente Windows Update) são incluídas nas atualizações periódicas regulares para o Windows distribuídas por meio de Windows Update ou do WSUS (Windows Server Update Services). Você não precisa executar nenhuma etapa especial para atualizar o WUA nessas versões do Windows.
Em versões do Windows anteriores ao Windows 7 e ao Windows Server 2008 R2
O WUA se atualiza automaticamente quando o Atualizações Automático se conecta a Windows Update ou ao WSUS.
Se a Atualizações Automática ainda não tiver sido executada com êxito, é possível que um dispositivo que executa essas versões do Windows esteja executando uma versão mais antiga do WUA que não dá suporte a todas as APIs documentadas. Se você receber um resultado WU_E_SELFUPDATE_REQUIRED ao usar a API WUA para executar uma verificação, download ou instalação, esse erro informará que a versão instalada do WUA é muito antiga para se conectar aos serviços atuais do Windows Update. Você não pode usar as APIs WUA normais para atualizar o WUA nesses sistemas operacionais.
Um usuário pode atualizar manualmente o WUA para uma versão atual abrindo o painel de controle Windows Update, selecionando Verificar Atualizações e aceitando a auto-atualização exibida. Como alternativa, você pode atualizar o WUA programaticamente.
Para atualizar programaticamente o WUA em versões do Windows anteriores ao Windows 7 e ao Windows Server 2008 R2
- Use as APIs WinHTTP para baixar Wuredist.cab.
- Use as Funções de Criptografia para verificar se a cópia baixada do Wuredist.cab tem uma assinatura digital da Microsoft. Se você não puder verificar a assinatura digital, pare.
- Use as APIs da Interface de Descompactação de Arquivo para extrair o arquivo XML do Wuredist.cab.
- Use as APIs de Microsoft XML Core Services (MSXML) para carregar o arquivo XML e localizar o nó WURedist/StandaloneRedist/architecture para a arquitetura do computador. Por exemplo, para x86, localize o nó WURedist/StandaloneRedist/architecture com o atributo name de x86.
- Chame IWindowsUpdateAgentInfo::GetInfo para determinar a versão atual do WUA. Se IWindowsUpdateAgentInfo::GetInfo retornar um número de versão que seja pelo menos tão alto quanto o atributo clientVersion no nó de arquitetura localizado, pare.
- Use as APIs MSXML para ler o atributo downloadUrl do nó de arquitetura localizado. downloadUrl fornece a URL de download para o instalador WUA apropriado para a arquitetura do computador.
- Use as APIs WinHTTP para baixar o instalador apropriado.
- Use a função CreateProcess ou uma API semelhante para executar o instalador baixado.