Windows Embedded Blog

Archive for the ‘Windows XP Embedded’ Category

EWF error: failed getting protected volume configuration with error 1.

leave a comment »

When you created an image with EWF and run ewfmgr you get the following error message: “Failed getting protected volume configuration with error 1.  incorrect function.”

One reason for this can be that you specified the ARC path for the volume wrong.

You can change the ARC path in the running image in the following registry key:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesewfParametersProtectedVolume0]
ArcName=multi(0)disk(0)rdisk(0)partition(1)

You can find the naming convention for the ARC Path here: http://support.microsoft.com/kb/102873

 

If it is still not working check the following registry entry:

The UpperFilters key must contain the value Ewf
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{71A27CDD-812A-11D0-BEC7-08002BE2092F}]
UpperFilters=”Ewf”

After each change make a reboot and try running ewfmgr c: again.

Written by Wolfgang Unger

November 4, 2008 at 17:41

Deploying images

leave a comment »

The easiest way to deploy an image (if you are not using a CF card which can be easily removed from the target device) is to use the Windows PE environment from Target Designer CD1. Using Windows PE you can deploy the image via a network share very easy.

Prequisits

Target Designer CD1
Network Share which contains your XP Embedded image
DHCP Server to assign an IP to WinPE

Deployment

Connect the target device to the same network as the development machine.

Boot Windows PE from Target Designer CD1.

Use ipconfig to check if you have received a valid IP address.

Map a network drive to the development machines share using the following command

net use N: \<IP of development machine> /User:domainusername

Enter the password if required.

Run diskpart to prepare the target disk.

To create a single primary partition on the first disk in the target disk use the following commands

SELECT DISK 0
CLEAN
CREATE PARTITION PRIMARY
ACTIVE
ASSIGN LETTER=C
EXIT

Format the previous created partition

format c: /fs:ntfs /q /y

Copy the image from the network share to the target device

xcopy N:*.* C: /H /E /Y /V /C

Reboot

Now you have successfully transfered the image from the development machine to the target device and it should boot correctly.

You can of course automate the commands from above by using a batchfile and a diskpart file. You can run diskpart with the /S parameter to specify a scriptfile.

Written by Wolfgang Unger

October 3, 2008 at 17:08

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