Documente Academic
Documente Profesional
Documente Cultură
This document describes all the steps required to have a working Windows Embedded Standard 2009
(WES) + Microsoft Lifecam Cinema. Readers are not required to have a working knowledge of WES
as this document explains the process of configuring, building, and deploying a custom WES image
from ground up.
Windows Preinstallation Environment (aka Windows PE, WinPE) is a lightweight version of Windows
XP, Windows Server 2003, Windows Vista, Windows 7, or Windows Server 2008 R2 that is used for
the deployment of workstations and servers. It is intended as a 32-bit or 64-bit replacement for MS-
DOS during the installation phase of Windows, and can be booted via PXE, CD-ROM, USB flash drive
or hard disk1.
You need to boot the target machine using WinPE in order to be able to obtain the profile of the
hardwares, which you will need later when you configure our custom WES image. In order to generate
WinPE, you need to have Windows Automated Installation Kit (AIK) installed on your development
machine. Download AIK from http://www.microsoft.com/downloads/details.aspx?
FamilyID=C7D4BC6D-15F3-4284-9123-679830D629F2&displaylang=en.
Once you have AIK installed, proceed with the following actions2:
1. Go to Start, All Programs, Microsoft Windows AIK, and then click on Windows PE Tools
Command Prompt. (In Vista, Right Click and Run as Administrator.)
2. In the Command Prompt window that opens type in the following: copype.cmd x86
c:\winpe_x86
1 Ref.: http://en.wikipedia.org/wiki/Windows_Preinstallation_Environment
2 Ref.: http://blogs.msdn.com/b/embedded/archive/2008/04/02/creating-a-bootable-winpe-image-and-use-it-to-run-tap-
exe.aspx (for item 1 through 6).
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 2 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
3. Drop several utility programs into the winpe_x86 we just generated. The ones we definitely
need are: tap.exe and bootsect.exe.
1. tap.exe is needed for obtaining the hardware profiles.
2. bootsect.exe is needed for updating the master boot record of the hard disk of the target
machine such that it can boot to WES.
You can download those programs from http://www.box.net/shared/m3644kxill3. Unzip the
downloaded file under c:\winpe_x86\ISO (you should have a folder named
c:\winpe_x86\ISO\UTILITIES afterward, with tap.exe and bootsect.exe inside.
4. At this point you have at least two choices: (a) burn it to CD, or (b) burn it to USB flash drive.
It depends on the target machine; if it doesn't have any CD reader, go with USB flash drive. In
this tutorial we will be using virtual machine (VirtualBox) as the target machine. Currently
VirtualBox – and VMWare for that matter – can not boot from USB flash drive. Therefore we
can only go with option (a). Type the following command to build the ISO: oscdimg -n –
bc:\winpe_x86\etfsboot.com c:\winpe_x86\ISO c:\winpe_x86\winpe_x86.iso. If you need to
go with option (b), please refer to the link in footnote #3.
3 Actually tap.exe is shipped with Windows Embedded Standard 2009, and bootsect.exe can be copied from Windows
Vista installation disk. The download link to the box.net is provided here to ease your life.
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 3 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
WES toolkit requires an MS SQL server (as repository of components). The easiest way to get an SQL
server installed is by installing Visual Studio. You can download the free Visual Studio 2008 Express
from http://www.microsoft.com/express/downloads/#Visual_Studio_2008_Express_Downloads. Install
VS2008 Express first before installing WES. During the VS2008 Express installation wizard, opt to
use the SQL Server Express installed locally.
Step 3: Prepare the hard disk of the target machine & get the hardware profile
It has been mentioned previously that we will use a VirtualBox virtual machine (vm). Create a virtual
disk of 10 gigabytes in size, create a vm, and attach that newly-created virtual drive to the vm. It is
assumed (recommended) that the vm has the following profile:
Run the vm, it will boot to the winpe_x86. Wait until the command prompt is ready, as shown in the
following figure:
4 Requires that the hardware virtualization checked in the BIOS setting of your development PC.
5 This, I suppose, removes the floppy drive.
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 4 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
At this point you are ready to format the harddisk of the target machine, and writes the master boot
record code. This is an activity that you will perform only once. To format the harddisk, type diskpart
in the command prompt. Followed by typing the following series of commands within diskpart's
console (Select Disk 0, Clean, Create Partition Primary, Active, Format FS=NTFS). See the following
picture.
Back in the command prompt, to write the master boot record code, type d:\utilities\bootsect.exe /nt52
c:
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 5 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
Finally, type d:\utilities\tap.exe -o devices.pmq. The application writes out the hardware profile into a
file named devices.pmq stored under x:\windows\system32\.
To copy that PMQ file, connect your USB flash drive to the virtual machine, and type copy
x:\windows\system32\devices.pmq e:\
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 6 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
In this step, you will learn how to package Microsoft Lifecam Cinema's driver into a component that
can be integrated to your custom image. Open the Component Designer.
Normally you would have to install Microsoft Lifecam Cinema's driver on a “normal” Windows XP
machine (your development PC, for instance). That's a way to obtain all the DLL, SYS, and INF files
that makes up the driver. The installer of the driver can be downloaded from
http://www.microsoft.com/hardware/download/download.aspx?
category=ICE&type=LifeCam&sku=H5D-00001
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 7 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
The installation process takes several minutes to complete, as it downloads even more files during the
installation from Microsoft's site. In order to save you some efforts, I collected all those files into a
single ZIP file that can downloaded on the following URL: http://www.box.net/shared/764mbiv4qk .
You might notice the size of the ZIP file is smaller then the size of the installer. It is because the ZIP
only contains the files for the driver, while the installer contains even more applications (e.g.: video
capturing application), which we wouldn't include in our image. You must extract the ZIP file in your
development PC. In my case I extracted it under: My Documents\fortutorial\NX6000\6.
You can jump-start the creation of this component by importing the driver information file. Click File
→ Import, and select nx6000.inf under My Documents\fortutorial\NX6000\.
As the result, you will see several components have been created automatically. Delete all of them –
right click on the component's name, and click Delete – except the one named Microsoft Lifecam
Cinema.
6 You might notice NX6000 is actually another webcam product from Microsoft. Apparently this Microsoft Lifecam
Cinema is using a driver a “generic” driver for NX6000-compatible cameras. I wonder if or when will they provide a
driver specifically written for Lifecam Cinema. Link:
http://www.microsoft.com/hardware/digitalcommunication/productdetails.aspx?pid=005
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 8 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
Now we have to modify the configuration of Microsoft Lifecam Cinema component a little bit. Select
the Files node under the component's node. You will several files listed in the pane to the right. Delete
dshowext.inf, USBVideo.inf, and USBVideo.sys. They are provided by other WES 2009 components
that we'll add into this component later on.
Save your work as mslifecamcinema.sld before moving on to the next task: defining a new repository
in the database.
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 9 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
The idea is to have that repository contains all the files (copied) from the location where you extracted
the ZIP file. Therefore, specify the source path of that repository; click the Browse button next to the
Source Path label in the repository configuration page, and navigate to
My_Documents\fortutorial\NX6000\ in the folder selection dialog presented afterward. Don't forget
to give this repository a name: NX6000.
Then you assign the Microsoft Lifecam Cinema component to the newly-created repository, such that it
knows where to fetch the pertaining files from. You do this by clicking the Repositories button in the
component's property page, and select NX6000 from the dialog presented.
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 10 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com
Next, you have to add the components which this NX6000 depends on. Two components are already
included when you imported the INF file, namely Analog TV and Primitive: Ks.inf.
I built the list above by actually installing the driver on a “normal” clean Windows XP. I took the
snapshot of the system (registry entries, files, etc) before the installation, and compare it with the
snapshot right after the installation. In addition to that I also checked the dependencies of the DLLs,
SYS, and AX files of the NX6000 driver, and of course by analyzing the nx6000.inf itself. The
technique is well explained in MSDN: http://msdn.microsoft.com/en-us/library/ms838332.aspx
Finally, mark the component as released, and save it. This would be the last thing to do inside the
Component Designer.
Finally, you have to make this component available in the component database. You do this importing
the component design file (SLD) you just created through Component Database Manager.
Inside the Component Database Manager, click the Import button, and select your SLD file in the
import dialog presented.
Getting your Microsoft Lifecam Cinema working on Microsoft Windows Embedded Page 12 of 12
Standard 2009 – Step-by-step Tutorial – raka.cokorda@alandramedical.com