Image-based Installations with Windows Imaging Format

Image-based deployments of Windows 7 and prior desktop operating systems like XP Profession and Windows Vista are done to streamline the roll out process and to better allow small to large businesses as well as OEM manufactures the ability to quickly build and deploy their systems in an assembly line fashion.

After installing an operating system on reference system and setting it up with specific settings and configuring other applications they would leverage an imaging solution to capture an image based on a sector-by-sector copy of the reference computer.

Sector-by-sector copying can be effective in only so many scenarios and has a number of limitations.

Imaging systems with tools available in Windows Server 2008 and Windows 7 that leverage image-based installations allow for easier initial setup, overall system deployment, and an improvement to image storage and management.

WIM Overview

Windows Imaging format, referred to as WIM, is a file-based disk image first introduced around the release of Windows Vista. Windows 7 installations use this image file as well.

[NOTES FROM THE FIELD] Imaging systems has been around a long time and for many iterations of Windows operating systems; Windows Vista was the first desktop operating system to leverage the WIM format.

When installing Windows 7 right off of the DVD you are booting the system from a boot image (boot.wim) which is the bootable version of Windows PE (Windows Preinstallation Environment) and this is the installation environment in which the installation routine runs for the operating system install.

You are no longer doing file based installations as you did with Windows XP and prior operating systems; when you are running the Windows 7 installation you are applying an image to the hard disk from the DVD – install.wim.

image based install 0001

One of the benefits of using the WIM image is that it allows for compression and single instancing which is where multiple images share a single copy of files that are common between the instances.

As you can see in the image above – there is one install image file; that is effectively Windows 7 Ultimate. If you have the correct product key that allows for the deployment of everything (which is effectively what Ultimate Edition is) then the entire image is deployed.

All of the other editions of Windows 7 are a subset of that image in that they install parts but not ALL of the parts of Windows Ultimate Edition.

When the installation routine runs it will deploy against the complete image of Windows Ultimate and lay down the selected version of Windows (as an example Windows 7 Home Premium) and only install those supported parts of that edition of Windows from the total image file.

That single image allows for all the installation options on one DVD.

Benefits of Leveraging WIM

There are a number of additional benefits in leveraging the Windows Imaging format over sector-by-sector copying.

Some highlights:

  • One WIM file can address different hardware configurations as there is no requirement as in a sector-by-sector copy installs that the destination hardware match the source hardware
  • WIM can store multiple images within a single file as described above in the install.wim of the base operating system; the same can be done for custom *.wim files created by system admins.
  • When you store multiple images within a single file you can do this as just part of a core build for desktop deployments or with the use of Catalog (CLG) files that allow for the option to set up multiple applications to be deployed as part of the operating system build
  • You can service the WIM image offline from its stored location and add or remove certain operating system components, files, updates, and drivers without creating a new image.
  • Windows Imaging format has the flexibility to install a disk image on partitions of any size. Sector-by-sector images require deployments of an image to a partition that is the same size or larger than the source disk.
  • WIMGAPI is the Windows Imaging API that developers can use to manage WIM image files.
  • WIM deployments can be performed nondestructively. Data can be on the existing volume and the image can be deployed without erasing the existing contents of the volume.

WIMGAPI Tool Overview for Windows Image Deployment

The WIMGAPI is the Windows Imaging Application Program Interface that developers can use to manage .wim files.

Developers are able to use WIMGAPI to mount existing WIM files to a folder in order to revise the contents or adding or remove files or settings from the image and then returning the image (unmount) from the folder.

WIMGAPI can also be used to partition a hard drive and format the volumes ahead of dropping the WIM onto the system as part of the installation being executed.

There is an Install-WindowsImage Powershell script that uses the wimgapi.dll in Windows 7 to apply a WIM to a VHD and there is a white paper on the Microsoft website titled Using Install-WindowsImage to apply a Windows Image to a VHD that has a plethora of details on leveraging it.

ImageX is a command-line tool that mirrors much of the WIMGAPI functionality and I will review some of the additional features of ImageX in a future article in a little additional detail.

Update: The ImageX article is now up on the site too.

In this tutorial we reviewed the highlights and information of the WIM file format and some of the benefits leveraging WIM. We finished up with an overview review of the WIMGAPI Tool that developers use to mange existing WIM files.

Thanks for investing your time in my Windows 7 Image Based Installation – Introduction to Windows Imaging Format article.

I am always looking forward to any feedback you have on this or any of the articles I have written so feel free to offer your feedback.

Additionally, I would welcome any suggestions topics of interest that you would like to see and based on demand and column space I’ll do what I can to deliver them to you.