Install updates in WIM files to accelerate OS deployment

Posted by Romain Serre on December 27, 2017

When I deployed Bare-Metal servers, I always lose time because of updates. In part of my job, I deploy a lot of physical servers, especially for Microsoft hyperconverged solution. When I install this kind of solution, I have to implement between three to sixteen servers at the same time. The cumulative update installation in Windows Server takes almost 30 minutes. If the servers are not installed at the same time, you can lose a lot of time. This is worst when you install physical servers with a tool like MDT and PXE. You have to copy 1GB in each server and then wait to install it.

To save time, now when I’m deploying physical servers, I update the install.wim file. In this way, the OS is installed with latest updates. In this topic, we’ll see how to update images in WIM files.


To install updates in install.WIM of Windows Server, you need DISM. I recommend you to install always the latest DISM. You can find it in ADK. You always need the DISM version related to the Windows version. For example, to manage to install.wim of Windows Server 2016, you need ADK 1607, Windows 10 1607 or Windows Server 2016. But if you use Windows 10 1709, you can also manage Windows Server 2016 image.

You need also the ISO file of Windows Server. In this example, I work on Windows Server 2016.

Finally, you need enough space on your computer. You need at least 15GB-20GB. The install.wim size is almost 6GB and you have to mount the install.wim which use space. Then you require capacity for updates, drivers and so on.

Get the index of Windows Server edition

A WIM file is a catalog of Windows Server edition (such as Windows Server Standard, Datacenter, WinPE and so on). You need to find the index of the Windows Server edition to mount it and to manage it.

Once you have downloaded your ISO file, copy the install.wim on a local volume. This file is located in <Drive Letter>:\Sources

Location of the file install.wim

Now open a command prompt, and browse the folder where you copied the install.wim file. Then run the following command:

Administrator: Command Prompt - Details for install.wim

In the above screenshot, you can see each Windows Server 2016 edition. In this example, I’ll work on Windows Server 2016 Datacenter Core edition. This edition is referenced to index 3.

Update the install.wim

Now that you have identified the index of the Windows Server edition, we can mount the image by using the following command:

Administrator: Command Prompt - Mounting install.wim

If you browse the folder where you mounted the image, you can get folder and files included in the Windows Server image. You can create folder, add scripts and so on.

MountDir folder and files

Open a web browser, and browse this link to download the latest cumulative update. Select the cumulative update and click on Microsoft Update Catalog (footer of the page).

Microsoft Windows Support - Improvements and fixes

In the Microsoft Update Catalog, select the right cumulative update and click on download.

Microsoft Update Catalog - Windows Server 2016

Go back to the command prompt and run the following command:

It can take a long time to install the update in the image. For this example, It took 45 minutes to patch the Windows Server image. You can also install several updates in a row by using the following command:

You can add drivers in the image with the following command:

Administrator: Command Prompt - dism

Once the updates/drivers are added, you have to commit change to the image. You can do it by using the following command:

If you want to discard change, you and revert change, you can run the following command:

Administrator: Command Prompt - The operation completed successfully

At this stage, your image in install.wim is updated. You can create a USB stick with Rufus from ISO file and then copy install.wim. You can also use this install.wim in MDT/SCCM to deploy your OS from PXE.


If you plan to deploy several physical servers, you can update the install.wim before implementation. The process to update install.wim is pretty easy. By doing this, you will save a lot of time for your deployment and all servers will be updated to the same version at the installation time.


Related materials:

Views All Time
Views Today
Return to all posts

Azure with New Apps Features: Adaptive Applications Controls and App Service Diagnostics
Introducing Azure Automation
The following two tabs change content below.