Resumo
Este artigo descreve como instalar várias atualizações de produtos Windows (por exemplo, atualizações críticas, patches de segurança ou hotfixes) que usam Hotfix.exe (Microsoft Windows NT 4.0) ou Update.exe (Microsoft Windows 2000, Microsoft Windows XP ou Microsoft Windows Server 2003) com apenas uma reinicialização. Este artigo destina-se a administradores e profissionais de TI. Você pode instalar atualizações de produtos do Windows que usam Hotfix.exe ou Update.exe sozinhas ou em combinação com o Windows (com ou sem um service pack).
Observação O procedimento descrito neste artigo não funciona para atualizações de produto que não usam Hotfix.exe ou Update.exe como o programa de instalação. Por exemplo, as atualizações do Internet Explorer para Windows NT 4.0, Windows 2000 e Windows XP usam uma instalação baseada em INF em vez de Update.exe. Como resultado, você não pode usar esse procedimento para instalar várias atualizações do Microsoft Internet Explorer com apenas uma reinicialização no Windows NT 4.0, Windows 2000 ou Windows XP. Como as atualizações do Internet Explorer para o Windows Server 2003 usam Update.exe como o programa de instalação, você pode usar este procedimento para instalá-las.
Para obter informações adicionais sobre esses tópicos, consulte os seguintes sites da Microsoft:
Windows 2000
Guia de instalação e implantação do hotfix do Microsoft Windows 2000
http://technet.microsoft.com/en-us/library/cc750542.aspx Windows XP
O Guia para Instalar e Implantar Atualizações para o Microsoft Windows XP Service Pack 2
http://technet.microsoft.com/en-us/library/bb457071.aspx Windows Server 2003 e Windows XP Professional x64 Edition
Guia para Instalar e Implantar Atualizações para o Microsoft Windows Server 2003 e o Windows XP 64-Bit Edition Versão 2003
http://technet.microsoft.com/en-us/library/cc700814.aspx Windows Server 2003 Service Pack 1
Microsoft Windows Server 2003 Service Pack 1 Instalando e implantando Atualizações
http://technet2.microsoft.com/windowsserver/en/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d1033.mspx
Mais informações
Uma atualização de produto do Windows (por exemplo, uma atualização crítica, um patch de segurança ou um hotfix) é um arquivo executável (.exe) que contém um ou mais arquivos do sistema que você pode aplicar ao Windows para corrigir um problema específico. O Atendimento Microsoft distribui hotfixes para clientes que são severamente afetados por um problema específico. Atualizações críticas e patches de segurança são atualizações que a Microsoft recomenda para todos os clientes. Você pode obter atualizações críticas e patches de segurança no site do Windows Update, no site Microsoft Update, no Centro de Download da Microsoft ou em outros sites da Microsoft.
Atualizações do Windows XP x64 Edition e atualizações do Windows Server 2003 ou atualizações do Windows XP e Windows 2000 criadas após dezembro de 2002
Observação Para determinar quando uma atualização foi criada, exiba a data de modificação no programa de instalação do Update.exe ou Hotfix.exe no pacote de atualização.
Para instalar uma atualização de produto do Windows em um único computador, execute o programa de atualização de produto no computador que você deseja atualizar. Para instalar várias atualizações de produto sem reiniciar o computador entre cada instalação, use a opção /z.
Opções de linha de comando para o programa Update.exe
A tabela a seguir identifica as opções de linha de comando (ou opções) compatíveis com o programa Update.exe: Descrição da opção
/f Força outros programas a fecharem no desligamento. /n Não faz backup de arquivos para remoção de hotfixes. /z Não reinicia o computador após a instalação
concluído. /q Usa o modo silencioso; Nenhuma interação do usuário é necessária. /m Usa o modo de instalação autônoma (Windows 2000). /u Usa o modo de configuração autônoma (Windows XP). /l Lista os hotfixes instalados. O exemplo de código a seguir é um arquivo em lotes que instala várias atualizações do produto e garante que os arquivos corretos sejam substituídos após a reinicialização do computador.
@echo off
setlocal
set PATHTOFIXES=E:\hotfix
%PATHTOFIXES%\Q123456_w2k_sp4_x86.exe /Z /M
%PATHTOFIXES%\Q123321_w2k_sp4_x86.exe /Z /M
%PATHTOFIXES%\Q123789_w2k_sp4_x86.exe /Z /M
Observe QChain.exe funcionalidade está incluída em todas as atualizações do Windows XP x64 Editions, Windows Server 2003, Windows XP e Windows 2000 que usam Update.exe e que foram lançadas desde 18 de maio de 2001. No entanto, existe um problema em atualizações de produto lançadas antes de dezembro de 2002 que pode aplicar o binário errado no computador em algumas circunstâncias. Em março de 2003, a Microsoft lançou uma versão atualizada do QChain.exe para resolve esse problema.
Para obter mais informações sobre este problema ou para obter a ferramenta de Qchain.exe atualizada, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
815062 O arquivo correto não é instalado quando você encadeia vários hotfixes
Todas as atualizações do Windows NT 4.0 ou atualizações do Windows XP e Windows 2000 que foram criadas antes de dezembro de 2002
Observação Para determinar quando uma atualização de produto foi criada, marcar a data de Modificação no Update.exe ou Hotfix.exe programa de instalação no pacote de atualização.
A Microsoft lançou uma ferramenta de linha de comando chamada QChain.exe. Com o QChain.exe, os administradores do sistema podem encadear atualizações. Ao encadear atualizações, você instala várias atualizações sem reiniciar o computador entre cada instalação. Sem essa ferramenta, o único método com suporte é reiniciar o computador após cada instalação de atualização. A ferramenta QChain.exe tem os seguintes benefícios:
- Isso aumenta o tempo de atividade dos servidores porque os computadores não são reiniciados entre cada instalação de atualização.
- Ele permite instalações mais rápidas de várias atualizações em um único computador.
- Ele funciona no Windows 2000 e no Windows Windows NT 4.0.
Observe QChain.exe funcionalidade está incluída em todas as atualizações do Windows XP e Windows 2000 lançadas desde 18 de maio de 2001, mas há um problema nas atualizações lançadas antes de dezembro de 2002 que pode resultar na colocação do binário errado no computador em algumas circunstâncias. Em março de 2003, a Microsoft lançou uma versão atualizada do QChain.exe para resolve esse problema.
Para obter mais informações sobre esse problema ou obter a ferramenta de Qchain.exe atualizada, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
815062 O arquivo correto não é instalado quando você encadeia vários hotfixes
Encadear instalações de atualização sem QChain.exe não é seguro
Quando você instala atualizações, se um arquivo está bloqueado ou em uso, ele não pode ser substituído. Como resultado, o arquivo é colocado na fila Renomeação de Arquivo Pendente e é substituído após a reinicialização do computador. O problema ocorre no seguinte cenário:
- Você instala as atualizações A e B sem reiniciar o computador entre as instalações.
- Ambos os pacotes contêm o arquivo X. O arquivo X do pacote A é a versão 3; O arquivo X do pacote B é a versão 2. A versão do arquivo X no computador é a versão 1.
- Quando o pacote A é instalado, ele coloca sua versão do arquivo X na fila Renomeação de Arquivo Pendente.
- Quando o pacote B é instalado, ele coloca sua versão do arquivo X na fila Renomeação de Arquivo Pendente.
- Quando o computador é reiniciado, porque o pacote B foi instalado por último, sua versão do arquivo X é instalada (na fila Renomear Arquivo Pendente, o último arquivo é o usado). Como resultado, a versão 2 é instalada em vez da versão 3, como você esperava.
Se as atualizações encadeadas anteriormente forem instaladas sem reinicialização,
Embora esse cenário seja raro, é uma boa prática verificar se o seu computador tem todas as correções que você acredita que estão instaladas. Para verificar isso, use a ferramenta Qfecheck.exe.
Para obter mais informações sobre Qfecheck.exe, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
282784 Qfecheck.exe verifica a instalação dos hotfixes do Windows 2000 e do Windows XP
QChain.exe limpa a chave Operações de Renomeação de Arquivo Pendente no Registro para garantir que apenas a versão mais recente de um arquivo seja instalada após a reinicialização do computador.
Para instalar várias atualizações com apenas uma reinicialização
Execute o instalador de atualização com a opção -z para instruir o instalador a não reiniciar após a instalação. Adicione a opção -m (para o modo silencioso) se não quiser que prompts ou mensagens apareçam durante a instalação.
O instalador de atualização é um dos seguintes programas:
- O arquivo de programa do pacote de extração automática (por exemplo, Qnnnnnn_w2k_spx_x86_en.exe).
- Hotfix.exe (se você tiver extraído todos os arquivos do pacote).
Depois de instalar todos os hotfixes, execute QChain.exe.
Reinicie o computador
Você também pode criar um arquivo em lotes para fazer isso. O seguinte arquivo em lotes de exemplo demonstra esse método:
@echo off
setlocal
set PATHTOFIXES=some path%PATHTOFIXES%\Q123456_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\Q123321_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\Q123789_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\qchain.exe
Como obter QChain.exe
QChain.exe funcionalidade está incluída em todas as atualizações do Windows XP e do Windows 2000 lançadas desde 18 de maio de 2001, mas há um problema nas atualizações lançadas antes de dezembro de 2002 que pode resultar na colocação do binário errado no computador em algumas circunstâncias. Em março de 2003, a Microsoft lançou uma versão atualizada do QChain.exe para resolve esse problema.
Para obter mais informações sobre esse problema ou obter a ferramenta de Qchain.exe atualizada, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
815062 O arquivo correto não é instalado quando você encadeia vários hotfixes
A sintaxe do comando QChain.exe
qchain [logfilename]
O parâmetro opcional [logfilename] cria um arquivo com um snapshot antes e depois da chave Operações de Renomeação de Arquivo Pendente.
Exemplo QChain.exe saída
---- informações antigas no registro ------
Fonte:C:\WINNT\inf\acpi.inf
Versão: 5.0.2183.1
Destino:d:\ntsust\testregchech\1394.inf
Versão: 5.0.2183.1
Fonte:C:\WINNT\inf\adm_mult.inf
Versão: 5.0.2184.1
Destino:d:\ntsust\testregchech\1394.inf
Versão: 5.0.2183.1
Fonte:C:\WINNT\inf\banshee.inf
Versão: 5.0.2080.1
Destino:d:\ntsust\testregchech\1394.inf
Versão: 5.0.2183.1
---- novas informações no ------ de registro
Fonte:C:\WINNT\inf\adm_mult.inf
Versão: 5.0.2184.1
Destino:d:\ntsust\testregchech\1394.inf
Versão: 5.0.2183.1
Limitações do QChain.exe
Embora o QChain funcione com a maioria das atualizações do Windows NT 4.0 e do Windows 2000, QChain.exe pode não funcionar com atualizações que contêm arquivos binários listados na seguinte chave do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDLLs Os ficheiros binários (binários) listados nesta chave de registo são carregados na memória no arranque. Quando o instalador da atualização chama a função GetFileVersionInfo em um binário dessa lista, o instalador da atualização refere-se ao binário que já está carregado em vez do binário que está realmente presente no local de destino.
Como os binários listados na chave do Registro KnownDLLs são carregados na memória na inicialização, o instalador da atualização deve substituir o binário de destino pelo binário fixo antes que o computador seja reiniciado. Portanto, o instalador da atualização não cria uma operação pendente de renomeação de arquivo para substituir o binário na reinicialização. Em vez disso, a atualização move o binário atual para um local temporário, coloca o binário fixo onde o binário atual estava e, em seguida, cria uma Operação de Renomeação de Arquivo Pendente para excluir o binário atual quando o computador for reiniciado.
O QChain afeta apenas as Operações de Renomeação de Arquivo Pendentes que executam operações de substituição binária. Não realiza nada com Operações de Mudança de Nome de Ficheiro Pendentes que executam operações de eliminação.
Todas as atualizações do Windows NT 4.0 e todas as atualizações do Windows 2000 anteriores ao SP2 usam GetFileVersionInfo para identificar a versão de um arquivo. Se instalar duas ou mais atualizações Windows NT 4.0 ou atualizações anteriores ao SP2 do Windows 2000 e as atualizações contiverem KnownDLLs sobrepostas, a utilização do QChain para encadear a instalação dessas atualizações não garante que a correção da versão mais recente está instalada.
O cenário a seguir mostra por que QChain pode não colocar o binário correto no sistema:
Você instala os pacotes de atualização A e B e não reinicia entre instalações.
Ambos os pacotes contêm Kernel32.dll, um arquivo que está na lista KnownDLLs. O pacote A inclui Kernel32.dll versão 3, o pacote B inclui Kernel32.dll versão 2 e o computador tem Kernel32.dll versão 1 instalada.
Quando o pacote A é instalado, GetFileVersionInfo informa que o computador tem Kernel32.dll versão 1. Como o pacote A inclui a versão 3, o instalador da atualização identifica a necessidade de substituição do arquivo.
- O instalador da atualização move o Kernel32.dll versão 1 no computador para um local temporário e cria uma Operação de Renomeação de Arquivo Pendente para excluir o arquivo Kernel32.dll do local temporário na próxima vez que o computador for reiniciado.
- O Kernel32.dll versão 3 do pacote A é copiado para o computador.
Quando o pacote B é instalado, GetFileVersionInfo ainda informa que Kernel32.dll versão 1 está instalada no computador porque GetFileVersionInfo lê as informações de versão do Kernel32.dll que é carregado na memória. O pacote B tem a versão 2 e, portanto, o hotfix identifica a necessidade de substituição do arquivo.
O instalador da atualização move o Kernel32.dll que está agora no computador (pacote A Kernel32.dll versão 3) para um local temporário e cria uma Operação de Renomeação de Arquivo Pendente para excluir o Kernel32.dll (versão 3) do local temporário na próxima vez que o computador for reiniciado.
O Kernel32.dll versão 2 do pacote B é copiado para o computador.
O QChain é executado, mas não há Operações de Renomeação de Arquivo Pendentes para substituição de arquivos e, portanto, o QChain não faz nada.
Como o pacote B foi instalado mais recentemente, o pacote B Kernel32.dll versão 2 está no local correto no computador. Portanto, ele carrega na memória quando o computador é reiniciado. As Operações de Renomeação de Arquivo Pendente excluem tanto o original Kernel32.dll versão 1 quanto o pacote A Kernel32.dll versão 3. Como resultado, o computador agora tem Kernel32.dll versão 2 em vez de versão 3.
Há uma correção pós-SP2 Windows 2000 onde GetFileVersionInfo não é mais usado nas KnownDLLs que são carregadas na memória. Em vez disso, o instalador da atualização mapeia o arquivo que realmente está presente no local de destino e chama GetFileVersionInfo no arquivo mapeado. Portanto, você pode usar QChain.exe para encadear atualizações pós-SP2 do Windows 2000 juntas. Quando o faz, é instalada a versão mais recente de um ficheiro, independentemente da ordem pela qual as atualizações são instaladas.
Se você repetir o cenário anterior e usar atualizações pós-SP2 do Windows 2000, o hotfix no pacote B mapeia o Kernel32.dll do pacote A e reconhece a versão 3. A versão 3 é posterior à versão 2 do próprio pacote B Kernel32.dll versão 2. Portanto, o pacote B não substitui o Kernel32.dll que está no sistema e o pacote A Kernel32.dll versão 3 é a versão que o computador usa corretamente depois que o computador reinicia.