DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 296861 - Última revisão: quinta-feira, 26 de Setembro de 2013 - Revisão: 17.0

Disponível transferência de hotfix
Ver e solicitar transferências de hotfix
 
Este artigo foi publicado anteriormente em PT296861

Nesta página

Sumário

Este artigo descreve como instalar múltiplas actualizações de produtos do Windows (por exemplo, actualizações críticas, patches de segurança ou correcções) que utilizem o Hotfix.exe (Microsoft Windows NT 4.0) ou o Update.exe (Microsoft Windows 2000, Microsoft Windows XP ou Microsoft Windows Server 2003) com apenas um reinício do computador. Este artigo destina-se a administradores e profissionais de TI. Pode instalar actualizações de produtos do Windows que utilizem o Hotfix.exe ou o Update.exe individualmente ou em conjunto com o Windows (com ou sem um Service Pack).

Nota: o procedimento que é descrito neste artigo não funciona com actualizações de produtos que não utilizem o Hotfix.exe ou o Update.exe como programa de instalação. Por exemplo, as actualizações do Internet Explorer para o Windows NT 4.0, Windows 2000 e Windows XP utilizam uma instalação baseada em INF em vez do Update.exe. Como resultado, não pode utilizar este procedimento para instalar múltiplas actualizações do Microsoft Internet Explorer com apenas um reinício do computador no Windows NT 4.0, Windows 2000 ou Windows XP. Uma vez que as actualizações do Internet Explorer para o Windows Server 2003 utilizam o Update.exe como programa de instalação, pode utilizar este procedimento para a respectiva instalação.

Para obter informações adicionais sobre estes tópicos, consulte os seguintes Web sites da Microsoft:

Windows 2000
Instalação de correcções e guia de implementação do Microsoft Windows 2000
http://technet.microsoft.com/pt-pt/library/cc750542.aspx (http://technet.microsoft.com/pt-pt/library/cc750542.aspx)
Windows XP
O guia de instalação e implementação de actualizações para o Microsoft Windows XP Service Pack 2
http://technet.microsoft.com/pt-pt/library/bb457071.aspx (http://technet.microsoft.com/pt-pt/library/bb457071.aspx)
Windows Server 2003 e Windows XP Professional x64 Edition
Guia de instalação e implementação de actualizações para o Microsoft Windows Server 2003 e Windows XP 64-Bit Edition, versão de 2003
http://technet.microsoft.com/pt-pt/library/cc700814.aspx (http://technet.microsoft.com/pt-pt/library/cc700814.aspx)
Windows Server 2003 Service Pack 1
Instalação e implementação de actualizações para o Microsoft Windows Server 2003 Service Pack 1
http://technet2.microsoft.com/windowsserver/pt-pt/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d2070.mspx (http://technet.microsoft.com/pt-pt/library/cc706993(WS.10).aspx)

Mais Informação

Uma actualização de produto do Windows (por exemplo, uma actualização crítica, um patch de segurança ou uma correcção) é um ficheiro executável (.exe) que contém um ou mais ficheiros do sistema que pode aplicar ao Windows para corrigir um problema específico. O suporte técnico da Microsoft distribui correcções aos clientes que são, de uma forma grave, afectados por um problema específico. As actualizações críticas e os patches de segurança são actualizações que a Microsoft recomenda a todos os clientes. Pode obter actualizações críticas e patches de segurança no Web site Windows Update, no Web site Microsoft Update, no centro de transferências da Microsoft ou noutros Web sites da Microsoft.

Actualizações do Windows XP x64 Edition e do Windows Server 2003 ou do Windows XP e do Windows 2000 criadas após Dezembro de 2002

Nota Para determinar quando uma actualização foi criada, veja a data de modificação do programa de instalação Update.exe ou Hotfix.exe contido no pacote de actualização.

Para instalar uma actualização de produto do Windows num único computador, execute o programa da actualização do produto no computador que pretende actualizar. Para instalar múltiplas actualizações de produtos sem reiniciar o computador entre cada instalação, utilize o parâmetro /z.

Opções da linha de comandos para o programa Update.exe

A tabela seguinte identifica as opções (ou parâmetros) da linha de comandos que o programa Update.exe suporta:
Descrição do parâmetro ------ ----------- /f Força outros programas a fechar no encerramento. /n Não cria cópia de segurança de ficheiros para remoção de actualizações. /z Não reinicia o computador depois de concluída a instalação. /q Utiliza o modo silencioso; não é necessária interacção do utilizador. /m Utiliza o modo automático de configuração (Windows 2000). /u Utiliza o modo automático de configuração (Windows XP). /l Lista as correcções instaladas. 
O seguinte exemplo de código é um ficheiro batch que instala múltiplas actualizações de produtos e garante a substituição dos ficheiros correctos após o reinício do computador.
@echo off
setlocal
definir 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
Nota: a funcionalidade QChain.exe está incluída em todas as actualizações de produtos do Windows XP x64 Editions, Windows Server 2003, Windows XP e Windows 2000 que utilizam o Update.exe e que foram disponibilizadas depois de 18 de Maio de 2001. No entanto, existe um problema nas actualizações de produtos que foram disponibilizadas antes de Dezembro de 2002, que poderão aplicar o ficheiro binário incorrecto no computador em determinadas circunstâncias. Em Março de 2003, a Microsoft disponibilizou uma versão actualizada do QChain.exe para resolver este problema. Para obter informações adicionais sobre este problema ou para obter a ferramenta Qchain.exe actualizada, clique no seguinte número de artigo para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
815062  (http://support.microsoft.com/kb/815062/pt/ ) O ficheiro correcto não é instalado quando agrupa múltiplas correcções

Todas as actualizações do Windows NT 4.0 ou actualizações do Windows XP e Windows 2000 que foram criadas antes de Dezembro de 2002

Nota Para determinar quando uma actualização de produto foi criada, verifique a data de modificação no programa de instalação Update.exe ou Hotfix.exe contido no pacote de actualização.

A Microsoft disponibilizou uma ferramenta de linha de comandos denominada QChain.exe. Com esta ferramenta, os administradores de sistema podem encadear actualizações. Quando as actualizações são encadeadas, são instaladas múltiplas actualizações sem ser necessário reiniciar o computador entre cada instalação. Sem esta ferramenta, o único método suportado é reiniciar o computador após a instalação de cada actualização. A ferramenta QChain.exe tem as seguintes vantagens:
  • Aumenta o tempo de funcionamento dos servidores, uma vez que os computadores não são reiniciados após a instalação de cada actualização.
  • Permite instalações mais rápidas de múltiplas actualizações num só computador.
  • Funciona no Windows 2000 e no Windows NT 4.0.
Nota: a funcionalidade QChain.exe está incluída em todas as actualizações do Windows XP e Windows 2000 disponibilizadas depois de 18 de Maio de 2001, mas existe um problema nas actualizações disponibilizadas antes de Dezembro de 2002 que poderá resultar na colocação de um ficheiro binário incorrecto no computador em determinadas circunstâncias. Em Março de 2003, a Microsoft disponibilizou uma versão actualizada do QChain.exe para resolver este problema. Para obter informações adicionais sobre este problema ou para obter a ferramenta Qchain.exe actualizada, clique no seguinte número de artigo para visualizar o artigo na base de dados de conhecimento Microsoft:
815062  (http://support.microsoft.com/kb/815062/pt/ ) O ficheiro correcto não é instalado quando agrupa múltiplas correcções

A interligação de instalações de actualizações sem o QChain.exe não é segura

Quando instala actualizações, se um ficheiro estiver bloqueado ou em utilização, não pode ser substituído. Como resultado, o ficheiro é colocado na fila de ficheiros com mudança de nome pendente e é substituído depois de reiniciar o computador. O problema ocorre no seguinte cenário:
  • Instala as actualizações A e B sem reiniciar o computador entre as instalações.
  • Ambos os pacotes contêm o ficheiro X. O ficheiro X do pacote A tem a versão 3; o ficheiro X do pacote B tem a versão 2. A versão do ficheiro X no computador é a versão 1.
  • Quando o pacote A é instalado, este coloca a respectiva versão do ficheiro X na fila de ficheiros com mudança de nome pendente.
  • Quando o pacote B é instalado, este coloca a respectiva versão do ficheiro X na fila de ficheiros com mudança de nome pendente.
  • Quando o computador é reiniciado, e uma vez que o pacote B foi o último a ser instalado, é instalada a respectiva versão do ficheiro X (na fila de ficheiros com mudança de nome pendente, é utilizado o último ficheiro). Como resultado, é instalada a versão 2 e não a versão 3, como esperado.

Se forem instaladas actualizações anteriormente interligadas sem reiniciar o computador

Apesar deste cenário ser raro, convém verificar se o computador tem realmente todas as correcções que pensa estarem instaladas. Para fazer esta verificação, utilize a ferramenta Qfecheck.exe. Para obter mais informações sobre o Qfecheck.exe, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
282784  (http://support.microsoft.com/kb/282784/pt/ ) O Qfecheck.exe verifica a instalação de correcções do Windows 2000 e Windows XP
A ferramenta QChain.exe limpa a chave do registo relativa às operações relacionadas com ficheiros com mudança de nome pendente (Pending File Rename Operations), para se certificar de que só é instalada a versão mais recente de um ficheiro depois de o computador ser reiniciado.

Para instalar múltiplas actualizações reiniciando o computador uma única vez

  1. Execute o programa de instalação da actualização com o parâmetro -z para instruir o mesmo a não reiniciar o computador após a instalação. Adicione o parâmetro -m (modo silencioso) se não pretender visualizar pedidos de informação ou mensagens durante a instalação.

    O programa de instalação da actualização é um dos seguintes:
    • O ficheiro de programa do pacote de extracção automática (por exemplo, Qnnnnnn_w2k_spx_x86_pt.exe).
    • Hotfix.exe (se tiver extraído todos os ficheiros do pacote).
  2. Depois de todas as correcções terem sido instaladas, execute o QChain.exe.
  3. Reinicie o computador.
Também pode criar um ficheiro batch para efectuar este procedimento. O exemplo de ficheiro batch a seguir apresentado demonstra este método:
@echo off
setlocal
definir 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 o QChain.exe

A funcionalidade QChain.exe é incluída em todas as actualizações do Windows XP e Windows 2000 que foram disponibilizadas depois de 18 de Maio de 2001, mas existe um problema nas actualizações disponibilizadas antes de Dezembro de 2002 que poderá resultar na colocação de um ficheiro binário incorrecto no computador em determinadas circunstâncias. Em Março de 2003, a Microsoft disponibilizou uma versão actualizada do QChain.exe para resolver este problema. Para obter informações adicionais sobre este problema ou para obter a ferramenta Qchain.exe actualizada, clique no seguinte número de artigo para visualizar o artigo na base de dados de conhecimento Microsoft:
815062  (http://support.microsoft.com/kb/815062/pt/ ) O ficheiro correcto não é instalado quando agrupa múltiplas correcções

Sintaxe do comando QChain.exe

qchain [nome_do_ficheiro_de_registo]
O parâmetro opcional [nome_do_ficheiro_de_registo] cria um ficheiro com um instantâneo antes e depois da chave relativa às operações relacionadas com ficheiros com mudança de nome pendente.

Exemplo de resultado do QChain.exe

---- Old Information In The Registry ------
Source:C:\WINNT\inf\acpi.inf
Version: 5.0.2183.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Source:C:\WINNT\inf\adm_mult.inf
Version: 5.0.2184.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Source:C:\WINNT\inf\banshee.inf
Version: 5.0.2080.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

---- New Information In The Registry ------
Source:C:\WINNT\inf\adm_mult.inf
Version: 5.0.2184.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Limitações do QChain.exe

Apesar do QChain funcionar com a maior parte das actualizações do Windows NT 4.0 e do Windows 2000, poderá não funcionar com actualizações que contenham ficheiros binários listados na seguinte chave do registo:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDLLs
Os ficheiros binários listados nesta chave do registo são carregados na memória durante o arranque. Quando o programa de instalação da actualização invoca a função GetFileVersionInfo em relação a um ficheiro binário desta lista, o programa de instalação da actualização referencia o ficheiro binário que já está carregado em vez do ficheiro binário que está, de facto, presente na localização de destino.

Uma vez que os ficheiros binários listados na chave do registo KnownDLLs são carregados na memória durante o arranque, o programa de instalação da actualização tem de substituir o ficheiro binário de destino pelo ficheiro binário corrigido antes de o computador ser reiniciado. Por conseguinte, o programa de instalação da actualização não cria nenhuma operação relacionada com ficheiros com mudança de nome pendente para substituir o ficheiro binário no reinício do computador. Em vez disso, a actualização move o ficheiro binário actual para uma localização temporária, coloca o ficheiro binário corrigido na localização onde o ficheiro binário actual se encontrava e, em seguida, cria uma operação relacionada com ficheiros com mudança de nome pendente destinada a eliminar o ficheiro binário actual quando o computador for reiniciado.

O QChain só afecta as operações relacionadas com ficheiros com mudança de nome pendente que efectuem operações de substituição de ficheiros binários. Esta ferramenta não afecta as operações relacionadas com ficheiros com mudança de nome pendente que efectuem operações de eliminação.

Todas as actualizações do Windows NT 4.0 e todas as actualizações do Windows 2000 anteriores ao SP2 utilizam GetFileVersionInfo para identificar a versão de um ficheiro. Se instalar duas ou mais actualizações do Windows NT 4.0 ou do Windows 2000 anteriores ao SP2 e essas correcções contiverem KnownDLLs sobrepostos, a utilização do QChain para encadear a instalação dessas actualizações não garante a instalação da correcção com a versão mais recente.

O cenário que se segue mostra o motivo pelo qual o QChain poderá não colocar o ficheiro binário correcto no sistema:
  • Instala os pacotes de actualizações A e B e não reinicia o computador entre as instalações.
  • Ambos os pacotes contêm Kernel32.dll, um ficheiro que se encontra na lista de KnownDLLs. O pacote A inclui a versão 3 do Kernel32.dll, o pacote B inclui a a versão 2 do Kernel32.dll e o computador tem instalado o Kernel32.dll versão 1.
  • Quando o pacote A é instalado, GetFileVersionInfo comunica que o computador tem instalada a versão 1 do ficheiro Kernel32.dll. Uma vez que o pacote A inclui a versão 3, o programa de instalação da actualização identifica a necessidade de substituição do ficheiro.
    • O programa de instalação da actualização move o ficheiro Kernel32.dll versão 1 do computador para uma localização temporária e cria uma operação relacionada com ficheiros com mudança de nome pendente para eliminar o ficheiro Kernel32.dll da localização temporária quando o computador for reiniciado da próxima vez.
    • O ficheiro Kernel32.dll versão 3 do pacote A é copiado para o computador.
  • Quando o pacote B é instalado, GetFileVersionInfo continua a comunicar que o ficheiro Kernel32.dll versão 1 está instalado no computador, isto porque GetFileVersionInfo lê as informações da versão relativas ao ficheiro Kernel32.dll que está carregado na memória. O pacote B tem a versão 2, pelo que a correcção identifica a necessidade de substituição do ficheiro.
    • O programa de instalação da actualização move o ficheiro Kernel32.dll que se encontra actualmente no computador (Kernel32.dll versão 3 do pacote A) para uma localização temporária e cria uma operação relacionada com ficheiros com mudança de nome pendente para eliminar o ficheiro Kernel32.dll (versão 3) da localização temporária quando o computador for reiniciado da próxima vez.
    • O ficheiro Kernel32.dll versão 2 do pacote B é copiado para o computador.
  • O QChain é executado, mas não existem operações relacionadas com ficheiros com mudança de nome pendente para a substituição de ficheiros, pelo que o QChain não efectua qualquer acção.
  • Dado que o pacote B é o pacote instalado mais recentemente, o ficheiro Kernel32.dll versão 2 do pacote B encontra-se na localização correcta do computador. Por conseguinte, é carregado na memória quando o computador for reiniciado. As operações relacionadas com ficheiros com mudança de nome pendente eliminam o ficheiro Kernel32.dll versão 1 original e o ficheiro Kernel32.dll versão 3 do pacote A. Como resultado, o computador tem agora instalado o ficheiro Kernel32.dll versão 2 em vez da versão 3.
Existe uma correcção para o Windows 2000, posterior ao SP2, na qual a função GetFileVersionInfo já não é utilizada em KnownDLLs que estejam carregados na memória. Em vez disso, o programa de instalação da actualização mapeia o ficheiro que está de facto presente na localização de destino e, em seguida, invoca GetFileVersionInfo em relação ao ficheiro mapeado. Deste modo, pode utilizar o QChain.exe para encadear actualizações do Windows 2000, posteriores ao SP2. Quando o fizer, será instalada a versão mais recente de um ficheiro, independentemente da ordem pela qual as actualizações são instaladas.

Se repetir o cenário anterior e utilizar actualizações do Windows 2000 posteriores ao SP2, a correcção do pacote B mapeia o ficheiro Kernel32.dll do pacote A e reconhece a versão 3. Esta versão 3 é posterior ao ficheiro Kernel32.dll versão 2 do pacote B. Assim sendo, o pacote B não substitui o ficheiro Kernel32.dll existente no sistema e o ficheiro Kernel32.dll versão 3 do pacote A é a versão que o computador utiliza, correctamente, depois de ser reiniciado.

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Update
  • Microsoft Update
Palavras-chave: 
kbproductlink kbhotfixserver kbqfe kbwindowsupdatev6 kbwindowsupdatev3 kbfile kbgraphxlinkcritical kbinfo KB296861
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft