-->

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.

2 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. 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.