Windows Embedded Blog

How-To use the Microsoft Image Difference Engine to update your XP Embedded image

leave a comment »


The Image Difference Engine allows you to update your XP Embedded image without redoing it completly.

Scenario

You have created and deployed an XP Embedded image to your devices. There are several devices in the field and an application update needs an additional component, lets say the "Windows Media Player 11".

How does it work

Download the Image Difference Engine

If you have access to the Mobile and Embedded Communications Extranet you can download the tool from https://ece.partners.extranet.microsoft.com.  If you are an OEM you can download the tool from the System Builder website (http://www.microsoft.com/oem/default.mspx).

Generating the source image

Open your original image in Target Designer.image

Build the image without the Media Player component added.

Transfer the image to the target device and boot the device.

When FBA is done make a backup of the whole disk to the directory "C:XPe_source" on the development machine.

Generating the destination image

Then add the Media Player component to the configuration in Target Designer.

Run Dependency Check.

Build the image again.

Transfer the image again to the target device and boot it.

Let FBA finish and make again a full backup of the whole disk drive to the directory "C:XPe_dest" on the development machine.

Finding the difference between both image using IDIFF.EXE

Open a command prompt and navigate to the directory where you saved the Image Difference Engine.

Run  IDIFF.EXE /source:C:XPe_source /dest:C:XPe_dest /output:C:XPe_diff

The Image Difference Engine will now analyze both images and extract the differences between both.

IDIFF.EXE will copy over all files that are different to the folder specified in the output parameter.
It will also create an IDIFFOUT.XML file which contains all files and registry entries that differ between the images.

The folder "C:XPe_diff" is the folder which you can use now to deploy your update to the devices in the field.

Deploying the updates using IDA.EXE

Boot your target device which should be updated.

Copy the Image Difference Engine files and the output folder to an USB stick and connect it to your target device.

Open a command prompt on the target device and run   IDA.EXE /X:XPe_diffidiffout.xml /dest:C:
(Of couse you need to navigate to the correct IDA.exe path first)

The Image Difference Applier will now do all the changes which are saved in the idiffout.xml file. It will copy over the new files (and delete files which need to be removed), add, update and remove registry entries. When IDA finishes it will reboot the device.

Finished! You should now be able to use the Windows Media Player 11

Written by Wolfgang Unger

October 2, 2008 at 19:13

Leave a comment