In a previous article I mentioned some features of the Altiris RDeploy imaging engine and how it works to capture those images of computers and deploy them to the new computers. In this article we will have a look at the Microsoft ImageX imaging engine also used for deployment of images and now included in Altiris Deployment Solution 6.9.
ImageX
ImageX is a command-line tool that works with the latest Microsoft Windows image (.wim) files. The .wim files contain one or more volume images for a Windows operating system, while a volume image represents the captured volume or partition of a Windows operating system. The primary purpose of ImageX is to capture, to modify, and to apply images for deployment in a manufacturing or corporate IT environment.
You typically use ImageX with the Windows Imaging File System Filter (WIM FS Filter) driver. The WIM FS Filter driver enables you to mount an image to a directory, where you can browse, copy, paste, and edit the files from a file-management tool, such as Windows Explorer, without extracting or recreating the image. ImageX is commonly used in a Windows PE environment during image-based deployments.
ImageX is an imaging tool built from a set of APIs, known as Imaging APIs for Windows. ImageX supports the new Microsoft Windows Imaging (.wim) format.
ImageX relies on several components, including the ImageX executable (ImageX.exe), the WIM File System Filter (Wimfltr.sys and Wimfltr.inf), the WIM API set, and the .wim file format.
ImageX consists of the following components to function:
ImageX.exe:
An executable program that uses an API layer to support interaction with the .wim file. This interaction includes capturing the image, compressing the image, mounting and unmounting the image, applying the image, and so on.
WIM File System Filter:
After installing the WIM FS Filter driver, the WIM File System Filter handles the browsing and editing capabilities for the .wim file. After you mount a .wim file to a directory, the filter monitors all file system requests for files or data and maps the requests to the appropriate data within the .wim file. This enables you to view the contents of your image file from any standard file-management tool, such as Windows Explorer.
WIM API set:
The API layer that interacts with both the ImageX executable program and the WIM FS Filter driver. It is also the primary interface for third-party tools and setup technology.
The APIs can be categorized into the following functions:
- Add, update, and remove file data.
- Add, update, and remove image data.
- Extract image data.
- Mount an image using the WIM File System Filter.
- Manage spanning of images.
- Monitor messaging status and progress.
Windows Imaging (.wim) file:
A collection of image files that contain an operating system and its components. ImageX uses the .wim file format for capture, offline servicing, and the deployment process, providing a comprehensive imaging solution for your deployment scenarios.
Command-Line Options
NOTE: You must run each of these command-line options individually. If you do not provide a location for your captured .wim file, the process automatically creates it in your ImageX directory. For example, if you enter Data.wim instead of D:\Imaging\Data.wim while using the /capture option, the Data.wim file appears in your ImageX directory.
As any other command-line utility you can use the /? Switch after the executable to get a list of functions and other switches to use with your utility.
Imagex /?
imagex {/append | /apply | /capture | /delete | /dir | /export | /info | /split | /mount | /mountrw | /unmount
}
Append:
imagex /append "image_path image_file"
- Appends a volume image to an existing *.wim file, creating only 1 copy of the *.wim and making sure no duplicates exist within the image.
Apply:
imagex /apply "image_file image_number image_name image_path"
- Applies a volume image to a specified drive.
Capture:
imagex /capture "image_path image_file "name""
- Captures a volume image from a drive to a new .wim file. Captured directories include all subfolders and data. You cannot capture an empty directory. A directory must contain at least one file.
Delete:
imagex /delete "image_file image_number image_name"
- Deletes the specified volume image from a .wim file with multiple volume images. This option deletes only the metadata entries and XML entries. It does not delete the stream data and does not optimize the .wim file.
DIR:
imagex /dir image_file image_number image_name
- Displays a list of the files and folders within a specified volume image.
- image_file
Export:
imagex /export "src_file src_number src_name dest_file dest_name"
Exports a copy of the specified .wim file to another .wim file. The source and destination files must use the same compression type.
Info:
imagex /info "img_file [img_number | img_name] [new_name] [new_desc]"
- Returns the stored XML descriptions for the specified .wim file, including but not limited to the total file size, the image index number, the directory count, file count, and a description.
Mount:
imagex /mount "image_file image_number image_name image_path"
- Mounts a .wim file from Windows XP with Service Pack 2 (SP2), Windows Server 2003 with Service Pack 1 (SP1), or Windows Vista with read-only permission to a specified directory.
MountRW:
imagex /mountrw "image_file image_number image_name image_path"
- Mounts a .wim file from Windows XP with Service Pack 2 (SP2), Windows Server 2003 with Service Pack 1 (SP1), or Windows Vista with read/write permission to a specified directory.
Split:
imagex /split "image_file dest_file size"
- Splits an existing .wim file into multiple read-only split .wim files (.swm).
Unmount:
imagex /unmount "image_path"
- - Unmounts the mounted image from a specified directory.
- - /commit option saves the changes made to the *.wim image
Scenarios:
The most common scenario that I have come across in using the ImageX deployment engine is with creating a bootable dvd, for imaging stand alone desktops in the Windows Pre-Installation environment (WinPE). Where you actually mount the default *.wim file, ad a couple of files and scripts to the image and use the /commit switch to save the changes made to the *.wim image.
Ghost imaging engine to follow.
Deployment Solution 6.9: Different Imaging Engines (RDeploy)