quarta-feira, 30 de julho de 2014

Como integrar o Windows 7 SP1 no pacote de instalação

Introdução

Este artigo apresenta um pequeno tutorial sobre como integrar o Windows 7 Service Pack 1 (e outros updates), no pacote de instalação do Windows 7.

A integração (slipstream) de updates no pacote de instalação do Windows permite que estes sejam instalados automaticamente, juntamente com a instalação inicial.

Existem várias formas de realizar esta operação. Este artigo descreve a forma manual de o fazer, sem necessidade de utilizar qualquer software de terceiros, somente com os pacotes oficiais da Microsoft.

No tutorial do presente artigo vamos ver como integrar o SP1 no pacote de instalação do Windows 7, mas os métodos são em tudo semelhantes para a integração de outros updates do Windows.

O método descrito neste artigo é totalmente legal e pressupõem que o utilizador seja possuidor de uma licença válida para instalar o Windows 7. Todos os links indicados para downloads remetem para o site oficial da Microsoft.

Requisitos

Para executar o presente tutorial, são necessários os seguintes requisitos:

  • Executar num PC já com o Windows 7 SP1 instalado;
    • Pode-se obter o WAIK a partir desta página;
    • E o Suplemento do WAIK a partir desta página;
  • DVD ou imagem ISO de instalação do Windows 7;
  • Pacote de instalação do Windows 7 Service Pack 1 (KB976932) de 32 bits ou 64 bits, conforme a versão que se pretende integrar.
    • Pode-se obter o SP1 a partir desta página

Deve ainda criar as seguintes pastas (no presente tutorial assumimos o disco C:, mas pode ser em qualquer outra localização):


Método

  1. Copie o conteúdo do DVD de Instalação do Windows 7 para a pasta C:\Win7sp1\InstallDVD. Se em vez de um DVD, possuir uma imagem ISO, use o 7-Zip, WinRAR ou WinZip para extrair o conteúdo do ISO para esta pasta.
     
  2. Copie o ficheiro com o pacote de instalação do SP1 (windows6.1-KB976932-…exe) para a pasta C:\Win7sp1 (neste tutorial vamos exemplificar com a versão x64).
     
  3. De seguida, abra a janela de Linha de comandos, com privilégios elevados (executar como Administrador).

     
  4. Na Linha de Comandos, execute o seguinte:
     
    C:\Win7sp1\windows6.1-KB976932-X64.exe /X:C:\Win7sp1\SP1content
     
    Isto vai extrair o conteúdo do pacote de instalação do SP1 para a pasta C:\Win7sp1\SP1content.
     
  5. Dentro da pasta C:\Win7sp1\SP1content existe um ficheiro chamado windows6.1-KB976932-X64.cab, ou similar (existem dois ficheiros com nomes parecidos, escolha o maior). Extraia o conteúdo deste ficheiro para o mesmo local.
     
  6. Após a extracção, vai existir um ficheiro chamado NestedMPPContent.cab. Extraia este ficheiro para o mesmo local também.
     
  7. De seguida, localize 7 ficheiros com os nomes KB976933-LangsCab0-6.cab. Extraia estes ficheiros também. Durante a extracção, é natural aparecer a mensagem de ficheiros repetidos. Confirme a substituição de todos.
     
  8. Agora é necessário editar os seguintes ficheiros (pode usar o Bloco de Notas):
    • Windows7SP1-KB976933~31bf385~amd64~~6.1.1.17514.mum

      Localize e substitua o texto allowedOffline="false" por allowedOffline="true".


    • update.mum
      Efectue alteração semelhante à do ficheiro anterior.
    • updates.ses

      Localize as duas últimas linhas com o texto targetState=”Absent” e altere-as para targetState=”Installed.
  9. A partir desta fase, é necessário usar uma ferramenta chamada Dism. Embora possa existir uma versão desta ferramenta na pasta do sistema, a ferramenta correta está localizado nas pastas do WAIK, que deverá estar instalado, conforme os pré-requisitos.

    É então necessário mudar o directório de trabalho para a pasta das ferramentas do WAIK (a pasta correcta x86, ia64 ou amd64 depende da arquitectura do SO em que está a trabalhar).
     
    cd C:\Program Files\Windows AIK\Tools\amd64\Servicing
     
  10. Para integrar o SP1, é necessário saber o número de índice de versão do Windows que quer integrar. Execute o seguinte comando para obter os índices das versões contidas na ficheiro install.wim do seu pacote de instalação:

    dism /get-wiminfo /wimfile:C:\Win7sp1\InstallDVD\sources\install.wim
     


    Imaginemos que queremos integrar o SP1 no Windows 7 PROFESSIONAL x64, que, no nosso exemplo, tem o índice 8. Vamos necessitar deste número nos próximos passos.
     
  11. Temos agora que fazer o mount da imagem do SO contida no pacote de instalação. Execute o seguinte comando:
     
    dism /mount-wim /wimfile:C:\Win7sp1\InstallDVD\sources\install.wim
    /index:8 /mountdir:C:\Win7sp1\Mount

    Substitua o índice pelo correcto, da sua instalação.
     
  12. Agora vamos adicionar os ficheiros do SP1 à nossa imagem (esta operação pode demorar algum tempo):
     
    dism /image:C:\Win7sp1\Mount /add-package /packagepath:C:\Win7sp1\SP1content

    Nota: para instalar outros updates, que não apenas o SP1, basta colocar os respectivos ficheiros numa pasta e executar o comando anterior. Se foram ficheiros do tipo MSU, não é necessário fazer qualquer tipo de extracção.
     
  13. Após a conclusão da integração dos pacotes de actualização, é necessário fazer o unmount da imagem, gravando as alterações (também demora algum tempo):
     
    dism /unmount-wim /mountdir:C:\Win7sp1\Mount /commit

    Nota: se estiver a criar a imagem num computador com o Windows 7 64 bits, tem que fechar todas as janelas do Explorador do Windows, antes de executar este último comando, senão dá um erro e, embora crie a imagem sem problemas, não faz o unmount da mesma.
     
  14. Após a conclusão desta tarefa, pode verificar que o ficheiro install.wim, na pasta C:\Win7sp1\InstallDVD, foi alterado (timestamp actualizado e tamanho maior). Basta agora gravar o conteúdo desta pasta para um novo DVD ou criar uma imagem ISO, por exemplo. Atenção que em ambos os casos é necessário criar um DVD ou imagem de arranque (bootable).

3 comentários:

  1. Olá, Bom dia, tudo bem? Antes de mais nada, quero parabenizá-lo pelo texto, que é excelente. Venho a vc com uma dúvida, que não encontro referência em lugar algum no Google. Fiz os procedimentos, conforme descritos, até mesmo com os nomes de pastas iguais, para teste. Qdo rodo o comando para integração, retorna o erro "Erro - Package_for_KB976932 Erro: 0x80070490" Erro: 1168 - Elemento não encontrado. Você passou por isso em suas primeiras incursões nesta aventura? Desde já agradeço o retorno. Att.

    ResponderEliminar
    Respostas
    1. Boa tarde. Muito obrigado pelo seu comentário.
      Eu nunca tive este erro. Pelo que consegui investigar, ele deve estar a ocorrer porque algum ficheiro na imagem está corrompido. Recomendo a leitura deste artigo: http://www.thewindowsclub.com/windows-update-error-0x80070490.
      Por outro lado, recomendo sempre o teste das imagens criadas numa máquina virtual. Pode usar o gestor de Hyper-V do próprio Windows 7 (ou superior). Espero ter dado uma ajuda. Att.

      Eliminar
  2. Amigo, Boa tarde. Enquanto aguardava seu contato, fiz algumas simulações, repetindo os passos que vc disponibilizou. Porém, no passo 5, onde vc diz pra descompactar o arquivo maior do windows6.1-KB976932-X64.cab, eu fiz uma mudança, descompactando os dois, o menor e o maior, depois seguindo novamente todos os passos que vc mencionou no artigo. Pode ter sido coincidência ou não, mas funcionou desta forma em todo o processo. Logo, pelo menos pra mim, descompactar também o arquivo menor do windows6.1-KB976932-X64.cab (10MB) e o maior (900MB) no mesmo lugar foi o que trouxe resultado positivo no processo. No mais, fico grato desde já pelo retorno e sugestões. Sucesso!!!... Obg.

    ResponderEliminar