Início > Windows AIK, Windows Client/Server > DISM – Como integrar updates a uma imagem do Windows 7

DISM – Como integrar updates a uma imagem do Windows 7

outubro 29, 2010

Olá meu caro leitor!

Hoje irei falar um pouco sobre a ferramenta Deployment Image Servicing and Management Tool ou DISM em sua nomenclatura mais conhecida.

Para IT Pro’s e end-users que acompanharam o Windows Vista e o Windows AIK 1.1, as ferramentas Pkgmgr, IntlCfg e PEImg provavelmente são familiares.

O que estas ferramentas executavam? A seguir irei falar um pouco das funcionalidade de cada uma destas ferramentas.

  1. PkgMgr: Package Manager ou PkgMgr é uma ferramenta de linha de comando que permite executar a instalação/remoção/configuração de pacotes (Updates) no Windows Vista tal como habilitar ou desabilitar características (Features) do mesmo na ima WIM.
  2. IntlCfg: International Settings and Configuration Tool ou IntlCfg é uma ferramenta de linha de comando que permite executar instalação/remoção/configuração de pacotes de idiomas tal como as opções regionais do sistema na imagem WIM.
  3. PEImg: Preinstallation Environment Configuration Tool ou PEImg é uma ferramente de linha de comando que permite executar alterações/configurações no Windows PE usado, por exemplo, para capturar a imagem de um equipamento que esteja executando o Windows Vista.

O que o DISM faz?  O DISM concentra todas as funcionalidades mencionadas anteriormente das ferramentas PkgMgr, IntlCfg e PEImg em apenas um utilitário de linha de comando.

Com o uso do DISM você pode:

  1. Montar/desmontar imagens do tipo WIM facilmente.
  2. Instalar/remover updates em uma imagem do Windows 7.
  3. Instalar/remover drivers em uma imagem do Windows 7.
  4. Instalar/remover pacotes de idiomas em uma imagem do Windows 7.
  5. Alterar configurações regionais (idioma de entrada, layout do teclado, etc.) em uma imagem do Windows 7.
  6. Obter informações de uma imagem – index, names, updates, drivers, etc.
  7. Aplicar um arquivo de resposta (Unattended ou AutoUnattended) a uma imagem.
  8. Verificar quais aplicações estão instaladas em uma imagem do Windows 7.
  9. Permite manipular arquivo de disco virtual (VHD).

Como podemos ver, temos uma grande variedades de possibilidades para executarmos quando estamos trabalhando com o DISM.

Onde eu posso obter o DISM? Não há porque baixar ou instalar algum pacote no Windows 7 meu caro leitor. Apenas no Windows Vista era necessário a instalação do conjunto de ferramentas do Windows AIK para se ter disponível o PkgMgr, IntlCfg e o PEImg.

Com o Windows 7, nativamente o DISM está presente no sistema operacional e pode ser utilizado a qualquer momento.

Como eu posso utilizar o DISM? Clique em Iniciar e na caixa Pesquisar um arquivo ou diretório digite o comando CMD.

No topo do menu Iniciar ao encontrar o atalho para Prompt de Comando clique com o botão direito do mouse e escolha Executar como administrador.

Na janela do Prompt de Comando digite o comando dism /? e pressione ENTER para visualizar os parametros disponíveis na ferramenta. Se você desejar saber sobre um determinado parametro, digite dism /parametro /?, por exemplo, dism /Online /? para exibir as opções deste parametro.

Agora que já conhecemos sobre a ferramenta e sabemos como iniciá-la, vamos ver o que é necessário para integrar um ou mais updates a uma imagem do Windows 7.

O que você precisa é:

  1. Ter uma media ou ISO contendo os bits de instalação do Windows 7.
  2. Ter efetuado o download dos updates (.MSU) que você deseja integrar a sua imagem em sua estação ou em uma media (CD/DVD/USB).
  3. Criar o diretório C:\Image para armazenar os bits de instalação do Windows 7.
  4. Criar o diretório C:\Servicing para montar a imagem do Windows 7 e integrarmos os updates.
  5. Criar o diretório C:\Updates para disponibilizar os pacotes a serem instalados.

Pronto! Agora você pode começar o processo.

A principio estou supondo que você já tenha os pacotes que deseja instalar na imagem do Windows 7. Caso não os tenha, você pode utilizar de três meios para obtê-los.

  1. Utilizar o Microsoft Download Center para localizar os updates e efetuar o download pacote por pacote.
  2. Utilizar a ferramenta AutoPatcher para efetuar o download automatizado dos pacotes.
  3. Utilizar a ferramenta WSUS Offline Update para efetuar o download automatizado dos pacotes.

Escolha a melhor forma que você julgar e baixe os pacotes caso não os tenha. Se ja possuir os pacotes que deseja instalar em sua imagem, recomendo que os copie para o diretório C:\Updates para que os comandos informados aqui sejam coerentes com os que irá executar também.

Após ter finalizado a cópia dos updates para o diretório correto, o próximo passo é copiar o conteúdo do DVD de instalação do Windows 7 ou extrair o conteúdo do arquivo ISO para o diretório C:\Image. Aguarde pois a cópia/extração do conteúdo pode levar algum tempo dependendo do hardware que possui.

Concluída a movimentação dos bits do Windows 7 para o diretorio C:\Image, vamos começar a manipular a imagem do sistema operacional com o DISM.

Se não estiver com o Prompt de Comando aberto e com privilégios elevados, repita o processo informado no inicio para que você possa executar o DISM corretamente.

É importante dizer que o processo de instalação/remoção/configuração realizado aqui é feito por versão do sistema operacional disponível na imagem. Neste exemplo irei utilizar a versão do Windows 7 Ultimate Edition x86 como piloto mas você pode escolher outra edição caso possua a licença de instalação para outra edição.

Caso for necessário aplicar qualquer tipo de alteração em outra versão do Windows 7, será necessario repetir todos os passos.

Sabemos que este How Do I contempla alterar a edição do Windows 7 Ultimate x86, entao, o primeiro passo que precisamos realizar é identificar o número da edição no INDEX da imagem ou seu NAME. Aqui irei utilizar o número do index para selecionar a versão Windows 7 Ultimate.

Como eu posso identificar esse número? No Prompt de Comando execute o comando abaixo para podermos identificar os números no index referentes as versões:

dism /Get-WimInfo /WimFile:C:\Image\sources\install.wim

O resultado deste comando será o mostrado abaixo:

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Detalhes de imagem : c:\image\sources\install.wim

Índice: 1
Nome : Windows 7 STARTER
Descrição : Windows 7 STARTER
Tamanho : 7.936.340.784 bytes

Índice: 2
Nome : Windows 7 HOMEBASIC
Descrição : Windows 7 HOMEBASIC
Tamanho : 7.992.394.907 bytes

Índice: 3
Nome : Windows 7 HOMEPREMIUM
Descrição : Windows 7 HOMEPREMIUM
Tamanho : 8.432.859.356 bytes

Índice: 4
Nome : Windows 7 PROFESSIONAL
Descrição : Windows 7 PROFESSIONAL
Tamanho : 8.313.318.889 bytes

Índice: 5
Nome : Windows 7 ULTIMATE
Descrição : Windows 7 ULTIMATE
Tamanho : 8.471.060.645 bytes

A operação foi concluída com êxito.

Neste resultado a informação importante é o número do tributo Index : X (Indice:X). Este número irá identificar qual é versão que estamos manipulando com o DISM. Com o resultado acima identificamos que o número do index referente a versão Windows 7 Ultimate é CINCO (5).

Agora que temos a informação do index, vamos monstar a imagem para podermos instalar os updates. No Prompt de Comando digite o comando abaixo para montarmos o arquivo install.wim:

dism /Mount-Wim /WimFile:C:\Image\sources\install.wim /Index:5 /MountDir:C:\Servicing

Nesta etapa é preciso aguardar por alguns momentos pois o processo de montagem leverá alguns minutos. A conclusão do processo pode ser visualizada quando a barra de progresso atingir 100% e a mensagem The operation completeded sucessfully for exibida após o comando.

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Montando a imagem
[==========================100.0%==========================]
A operação foi concluída com êxito.

Se receber a mensagem de sucesso, podemos prosseguir com o processo. Podemos nesta etapa iniciar a instalação de um ou mais updates e caso você queira ter certeza de qual versão estamos manipulando com o DISM você pode executar o seguinte comando:

dism /Get-MountedWimInfo

O resutado deste comando é este:

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Imagens montadas:

Dir. de montagem : c:\Servicing
Arquivo de Imagem : c:\image\sources\install.wim
Índice de Imagem : 5
Leitura/Gravação Montada: Sim
Status : Ok

A operação foi concluída com êxito.

Perceba no resultado que o número 5 aparece no atributo Image Index indicando que estamos trabalhando com o edição Windows 7 Ultimate.

Antes de aplicar um ou mais updates no Windows 7 é interessante você verificar quais updates já estão disponíveis na imagem no momento de uma instalação limpa. Para verificar quais são os updates inclusos em uma imagem padrão digite o seguinte comando no Prompt de Comando:

dism /Image:C:\Servicing /Get-Packages

O resultado que você terá após executar o comando será este:

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Versão da Imagem: 6.1.7600.16385

Packages listing:

Package Identity : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e3
5~x86~en-US~6.1.7600.16385
State : Installed
Release Type : Language Pack
Install Time : 14/07/2009 04:46

Package Identity : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~x86~~6.
1.7600.16385
State : Installed
Release Type : Foundation
Install Time : 14/07/2009 04:46

Package Identity : Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:54

Package Identity : Microsoft-Windows-LocalPack-CA-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:54

Package Identity : Microsoft-Windows-LocalPack-GB-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:55

Package Identity : Microsoft-Windows-LocalPack-US-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:55

Package Identity : Microsoft-Windows-LocalPack-ZA-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:55

A operação foi concluída com êxito.

É possível melhorar a visualização do resultado utilizando o parametro /format:type no comando. Um exemplo seria colocar o resultado como uma lista e exportar para um arquivo TXT. Para isto seria necessário executar o seguinda comando:

dism /Image:C:\Servicing /Get-Packages /Format:List > C:\Add-Packages.txt

Com este comando a saída no Prompt de Comando será omitida e você poderá visualizar no arquivo Add-Packages.txt os updates de forma mais amigável. É possível utilizar também o tipo tabela – /format:table.

Vamos agora instalar um determinado pacote ou vários pacotes no Windows 7. Baixe o pacote KB2028551 deste link para nosso teste. No Prompt de Comando digite o seguinte comando para instalarmos o KB2028551:

dism /Image:C:\Servicing /Add-Package /PackagePath:C:\Updates\Windows6.1-KB2160329-x86.msu

Aguarde até que todo o processo de instalação seja feito na imagem e receberá a mensagem abaixo ao final.

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Versão da Imagem: 6.1.7600.16385

Processing 1 of 1 – Adding package g:\windows7\updates\windows6.1-KB2160329-x86.
msu
[==========================100.0%==========================]
A operação foi concluída com êxito.

No comando anterior, fizemos a instalação de um update apenas. Entretanto, há outras possibilidades mais práticas. A seguir estão as possibilidades:

  • é possível instalar vários pacotes .MSU.
  • é possível instalar um ou mais pacotes do tipo .CAB.
  • é possível instalar um ou mais pacotes indicando apenas um diretório onde os mesmo estão.

Abaixo estão alguns exemplos de como seria usado o comando anterior para as três opções mencionadas anteriormente:

  • dism /Image:C:\Servicing /Add-Package /PackagePath:C:\Updates\NomedoKB1.msu /PackagePath:C:\Updates\NomedoKB2.msu
  • dism /Image:C:\Servicing /Add-Package /PackagePath:C:\Updates\NomedoCAB1.cab /PackagePath:C:\Update\NomedoCAB2.cab
  • dism /Image:C:\Servicing /Add-Package /PackagePath:C:\Updates

Após inserir o novo update que escolhemos como piloto, vamos confirmar que o mesmo agora está integrado ao processo de instalação do Windows 7. Execute novamente o comando abaixo:

dism /Image:C:\Servicing /Get-Packages

A saída do comando será a seguinte:

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Versão da Imagem: 6.1.7600.16385

Packages listing:

Package Identity : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e3
5~x86~en-US~6.1.7600.16385
State : Installed
Release Type : Language Pack
Install Time : 14/07/2009 04:46

Package Identity : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~x86~~6.
1.7600.16385
State : Installed
Release Type : Foundation
Install Time : 14/07/2009 04:46

Package Identity : Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:54

Package Identity : Microsoft-Windows-LocalPack-CA-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:54

Package Identity : Microsoft-Windows-LocalPack-GB-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:55

Package Identity : Microsoft-Windows-LocalPack-US-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:55

Package Identity : Microsoft-Windows-LocalPack-ZA-Package~31bf3856ad364e35~x86~~
6.1.7600.16385
State : Install Pending
Release Type : Local Pack
Install Time : 14/07/2009 07:55

Package Identity : Package_for_KB2160329~31bf3856ad364e35~x86~~6.1.1.0
State : Install Pending
Release Type : Security Update
Install Time : 01/11/2010 01:20

A operação foi concluída com êxito.

Como podemos ver, ao final do resultado está o pacote que acabamos de integrar a imagem. Este pacote será instalado no Windows 7 quando o Windows Setup, no processo de instalação, estiver na etapa de Instalação de atualizações.

Perfeito caro leitor. Já integramos um pacote e agora, caso tenha baixado vários pacotes, recomando que utilize o comando para integrar os pacotes e informe em /PackagePath apenas o caminho do diretório C:\Updates. Desta forma, todos os pacotes .MSU e/ou .CAB que estiverem dentro do diretório serão instalados.

Agora que já realizamos a integração dos pacotes é hora de desmontar a imagem install.wim para concluir o processo. Utilize o comando abaixo para fazer este processo.

dism /UnMount-WIM /MountDir:C:\Servicing /Commit

Aguarde o processo ser finalizado – isto pode levar um tempo bem maior se comparado com o processo de montagem da imagem.

Ao final do processo você receberá a mensagem abaixo:

Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
Versão: 6.1.7600.16385

Arquivo de Imagem : g:\windows7\windows7files\sources\install.wim
Índice de Imagem : 5
Salvando a imagem
[==========================100.0%==========================]
Desmontando a imagem
[==========================100.0%==========================]
A operação foi concluída com êxito.

Pronto! Agora o que você precisa fazer é criar uma nova imagem ISO com o conteúdo do diretório C:\Image para ter um DVD e/ou USB Stick de instalação do Windows 7 contendo as correções que integrou.

Se possuir o Windows AIK for Windows 7 instalado, utilize o comando abaixo para gerar uma imagem bootável do diretório C:\Image:

oscdimg -bC:\Image\boot\etfsboot.com -u2 -h -lWindows7PT-BR C:\Image C:\Windows7Updated.iso

Perfeito meu caro leitor! Agora você já sabe como integrar pacotes de atualizações do Windows 7 em uma imagem para evitar que este processo seja feito todas as vezes que se fizer necessária uma instalação limpa.

Mantenha um processo de manutenção da imagem sempre integrando os updates que são lançados mensalmente.

Espero que tenha tirado proveito da informação.

Até o próximo post…

  1. Domingos A.B Flores
    junho 20, 2011 às 7:49 am

    Bom dia, excelente post, pergunto se eu quiser fazer atualizações para outros indices terei que fazer os passos um a um tipo indece 1 windows starter 2 Home Basic 3 Home Premim e assim consecutivamente ou fazendo apenas no indice 5 Windows Ultimate já atualiza os outros ? desde de jáagradeço sua resposta.

    Att. Domingos A.B Flores

    • julho 9, 2011 às 3:07 pm

      Meu caro Domingos A.B Flores,

      Cara imagem do Windows 7 existente no arquivo install.wim é independente, ou seja, cada uma possui um arquivo de metadados que informa no momento da instalação o que será instalado ou não por exemplo.
      Se pretente disponibilizar um pacote de atualização para mais de um versão, deverá executar os passos para cada uma das versão que desejar.

      []’s
      Anderson T

  2. Donini II
    julho 8, 2011 às 10:07 pm

    Muuuuuuuuuito Obrigado, me ajudou muuuuuuuuuito, segui os passos e foi um sucesso.
    Parabens.

  3. Markus Vinícius
    fevereiro 4, 2012 às 7:15 pm

    Anderson, existe uma forma de integrar updates .exe ? Eu só estou encontrando nesse formato: .exe os updates !

  4. Claudio Manfio
    dezembro 20, 2012 às 8:49 am

    Muito Bom
    Só uma dica, se tiver muita atualização da para montar um arquivo .cmd para integrar varias atualizações ao mesmo tempo
    EX: o meu ficou Assim
    @echo off
    echo.
    Dism.exe /Mount-Wim /Wimfile:c:\W7\sources\install.wim /index:1 /MountDir:c:\temp
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2604115-x64.msu
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2656356-x64.msu
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2656373-x64.msu
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2656411-x64.msu
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2661254-x64.msu
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2686831-x64.msu
    Dism.exe /Image:c:\temp /Add-Package /PackagePath:c:\Framework\Windows6.1-KB2729452-x64.msu
    Dism.exe /Unmount-Wim /MountDir:c:\temp /Commit
    pause

  5. março 22, 2013 às 2:24 am

    Cara tem como upar o dotNetFx45_Full_x86_x64.exe e outra coisa o comando de criar a isso o ultimo esta certo ? pois ele esta dando que o oscdimg não e um comando interno nem externo.

  6. Cesar Bueno
    junho 3, 2013 às 10:33 am

    Excelente tutorial, me ajudou muito, mas tenho uma dúvida por exemplo quero criar um dvd com o windows x86 e 64 do Homepremium e do Ultimate somente, tem como remover as outras versões do windows, procurei na net e não achei nada.

    Se puder responder agradeço.

  1. novembro 2, 2010 às 2:21 pm
Os comentários estão desativados.
%d blogueiros gostam disto: