-->

domingo, 5 de abril de 2009

Como verificar se uma atualização do Windows está instalada.

Esses procedimentos e dicas devem funcionar em todas as versões do Windows desde o Windows 2000, mas só testei no Windows 2000 SP4 e no XP.

Método 1 (baixa confiabilidade)

Verifique dentro do diretório %Windir%. Cada hotfix cria um sub-diretório oculto e comprimido.


O método tem baixa confiabilidade porque como esses sub-diretórios não são necessários para a operação do Windows (só são usados para desinstalar) e podem ocupar um espaço considerável na partição do sistema (no PC da minha irmã são 300MB neste momento), costumam ser apagados ou movidos durante uma manutenção. Se o diretório estiver lá, o HotFix está instalado. Se não estiver, pode estar instalado ou não.

Método 2 (alta confiabilidade)

Edit: Este método funciona mesmo que os updates tenham sido pré-aplicados usando o nLite.

Cada hotfix instalado cria uma chave sob:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\




E também sob (no XP):
HKLM\SOFTWARE\Microsoft\Updates\Windows XP\
No Windows 2000:
HKLM\SOFTWARE\Microsoft\Updates\Windows 2000\

Edit: Segundo este artigo da MS, o caminho para as várias versões do Windows é:
HKLM\Software\Microsoft\Updates\[Sistema Operacional]\


Esta segunda chave tem mais informações e segundo o Process Monitor é a única das duas consultada pelo freeware WinUpdatesList, que ajuda bastante nessa verificação:



Como verificar um determinado Hotfix por arquivo batch

@ECHO OFF

ECHO.
ECHO Este exemplo verifica se o hotfix que
ECHO desabilita o Autorun esta instalado.
ECHO.

REG Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix" | find /I "\Hotfix\KB951748" >NUL

If errorlevel 1 GOTO NOTFOUND

Echo Hotfix instalado
GOTO FIM

:NOTFOUND

Echo Hotfix Não instalado

:FIM

O trecho em azul deve ser digitado como uma única linha.

Substitua "KB951748" pelo Hotfix cuja presença você quer verificar, depois substitua as linhas "Echo Hotfix..." pelos comandos que você quer executar em cada caso.

Edit: Tenha em mente que, por exemplo, um hotfix criado quando não existia o XP SP3 e foi incorporado pelo mesmo não vai aparecer nas listas quando você procurar por ele no SP3.

3 comentários:

  1. Vou procurar saber se é também o meio de remover a famigerada KB940510, pois, no Windows Vista, ela é um pé no saco, para muitos.

    ResponderExcluir
  2. Sobre atualizações do Windows deixo uma dica muito interessante principalmente para aqueles que precisam atualizar diversas máquinas e não possuem estrutura suficiente para usar o WSUS da MS. A dica é o freeware AutoPatcher http://www.autopatcher.com/ o software se dedica a fazer atualizações do Windows e de vários outros programas incluindo Office. Inicialmente a MS deu em cima alegando uso ilegal dos pacotes de atualização daí o pessoal reformulou o programa e ele hoje baixa direto da MS os pacotes de atualização para seu computador ao invés de hospedá-los no prórpio site do projeto. Ele já me economizou muito tráfego e tempo. Jefferson, acho que vale a pena um post mais detalhado sobre esta excelente ferramenta.

    ResponderExcluir
  3. Ainda sobre o meu comentário anterior, o AutoPatcher também faz uma análise sobre as atualizações já instaladas. Também é uma excelente fonte para fazer integrações em mídias de instalação com nLite. O responsável da versão do XP para português brasileiro é bem rápido, no outro dia após a liberação da MS já fica disponível a atualização para os novos pacotes.

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.