Windows Embedded Device Manager 2011 released

The new Windows Embedded Device Manager 2011 enables you to manage all your embedded devices with a single tool.
This new tool integrates into Microsoft System Center Configuration Manager 2007 and it not only allows you to deploy and update images – you can differentiate between device types. This way updates can be deployed, e.g. only to Thin Clients but not to kiosks however both device types run Windows Embedded Standard 7.

Another great feature is that Windows Embedded Device Manager 2011 is able to control the write filters which might be enabled on your devices. Normally when a system has a write filter enabled and updates are applied the updates are gone again after a reboot – this is because the filter drivers redirect all changes made to the disk into a RAM overlay which gets reset on reboot.
When deploying updates via the Device Manager the system will handle this case properly by deactivating and reactivating the filter drivers automatically.

The tool works with all Windows Embedded Standard and Ready operating systems such as:

  • Windows XP Embedded
  • Windows Embedded Standard 2009
  • Windows Embedded Standard 7
  • Windows Embedded for Point of Service
  • Windows Embedded POSReady 2009

and because it is based on System Center Configuration Manager 2007 it can handle all Windows Embedded Enterprise systems as well.

More information about the tool can be found here:
http://www.microsoft.com/windowsembedded/en-us/evaluate/windows-embedded-device-manager.aspx

Driver Injector

The Driver Injector tool allows you to find suitable drivers for your target device automatically. The tool can be a great help if you have previously extracted all driver with Driver Extractor and want to inject them again automatically. Or if you have a driver CD/DVD and want to inject all drivers automatically to the image without having to install every device manually. Driver Injector needs a Target Analyzer Output file which contains all the device information from the target device and a driver search path. Then the tool will find all matches and allows to inject them with one click.

Scenarios

Scenario #1

You have a bunch of drivers on the driver CD and need to install every driver one by one. In this case just run TAP to get the device information.

Then specify the driver search path – which is your driver CD. And click Next. Driver Injector will find the matching drivers and inject them to the image.

Scenario #2

Sometimes there are missing files but Windows will not tell you why.

When this happens you just open the INF file with the tool and it will show you all missing files.

How it works

  1. Run TAP.exe from your Windows Embedded Toolkit
  2. Run Driver Injector with Administrator permissions
    image
  3. Click Browse to select the “Target Analyzer Output (devices.pmq)” file
  4. Click Browse and select a the directory which contains the drivers for you device
    Driver Injector will use all subdirectories automatically – it must not be a flat structure.
  5. Select if you want to inject the drivers to the current running operating system (Online) or if you wish to inject the drivers to an image in a folder (offline).
  6. Click Next
  7. Driver Injector will now parse the devices.pmq file to get all the needed devices and it will parse all INF files for suitable drivers.
    image
  8. After the search has completed the tool will show a detailed list of devices which can be mapped with a driver.
    image
    There are additional details which are being displayed for each device match:
    image
    image
    - [ExactMatch] means that the device driver is a 1:1 match with the device ID.
    - [CompatibleMatch] means that the device driver does not match the exact device ID – however it matches with one of its compatible IDs. Therefore it can be used without any problem.

    The second information within the brackets shows the hardware architecture of the device driver. You cannot select a device driver if the hardware architecture does not match the operating systems architecture.
  9. Select all device drivers which you want to inject into your image. Driver Injector already preselected the best matches.
  10. Click Next.
    image
  11. Driver Injector will now copy all the needed driver files to the appropriate directories.
    In case you have specified another Windows\inf directory as a search directory the directory will not contain the needed driver files. In this case Driver Injector will ask you if it should extract the drivers from installed Windows directory.
    Please note that this feature can not ensure that the correct files are being used. This is because some driver files are renamed during the installation process. It can happen during the extraction routine that some files are the wrong files because the source Windows directory had another device driver component installed which has the same filename (Example: hal.inf contains multiple hal.dll files. All of them are named hal.dll during the installation. However the original names are different from device to device, e.g. halacpi.dll, halapic.dll,…).
  12. After the process has completed you will get a detailed summary.
    image

 

Additional Features

Explore INF File

Driver Injector also allows to explore the content of an INF file. This feature will also display all missing files which are needed to install the driver properly. Missing files can happen on a Windows Embedded system in case not all components are installed but the driver depends on them. Missing files are being highlighted automatically by the tool.

How it works

  1. Start Driver Injector and select “Explore INF File”.
    image
  2. Click “Next”.
  3. Browse for the INF file which you would like to explore.
    image
  4. Driver Injector will now display all devices which are contained in the INF file.
    The tool will show all related files, registry entries, services and compatible IDs that are needed by a device.
    To display these items just expand the device node.
    The device items description shows additional information between brackets:
    - The first information shows the device ID – compatible IDs (if there are any) are shown in the Compatible node.
    - The second information shows the architecture of the device.
  5. Highlighted items display missing but required files to install a device properly.

Add additional information during driver selection

During the driver selection screen you can also add additional information to the selected device.
For this just select the device and click “Load Details”. Drive Injector will then add information about files, registry entries and services that are installed by the device. It will also highlight missing files.
image

To explore the whole INF file of an selected device driver just click “Explore INF”. Driver Injector will the open a new window displaying the whole content of an inf file. For more information read the “Explore INF File” section.

 

Command Line Arguments

Driver Injector can run unattended with the following parameters:

DriverInjector.exe <devices.pmq> <DriverSearchPath> [OfflineImagePath]

If the [OfflineImagePath] is omitted then the current running OS will be modified.

 

Driver Injector can also be started to explore an INF file by using the following parameter:

DriverInjector.exe <INFFile.inf>

 

System Protection using Windows SteadyState on Windows XP Professional for Embedded Systems

imageThe free Microsoft utility Windows SteadyState can be used on Windows XP Professional for Embedded Systems to prevent the OS from any changes.

It offers a write filter which will redirect all writes to a cache file which can be reset on a reboot. This will generate a fresh system on every boot.

Windows Updates can be installed even when the write protection is on. Additional security policies can be applied on the system using SteadyState.

Download a manual for the installation and configuration from our website

Cloning images using WAIK and imagex

This video demonstrates you the usage of imagex together with either Windows Vista AIK or Windows 7 AIK.
A detailed command description can be found here.

The video shows the capturing of an installed “ready-to-clone” image where it will be saved to an external harddrive.
The second part will show the deployment to a fresh system where the target disk still needs to be prepared.

Driver Extractor for XP Embedded and Windows Embedded Standard

Driver Extractor is a tool which makes creating SLD components for drivers very easimagey.
All you need to do is to run the tool on the target machine with XP, Vista or Windows 7 and all device drivers installed.
Then you just need to select the devices for which the drivers should be exported into an SLD file and click export.
Driver Extractor will then copy all the needed files and creates a component for XPe/WES with Repository for you.
After importing the component to the database you can easily create your image.

Requirements

  • .NET Framework 3.5 SP1
  • Windows Operating system with all needed device drivers installed
  • WMI Support (if running on an embedded OS)
  • Windows must be installed on C:\Windows in the current version

How To Use

  1. Run DriverExtractor.exe on the target device. The Windows version should be XP as the exported drivers are taken from the current installation. If you use Vista it will take Vista driver which might not work under XP!
  2. Check the devices for which you want to export the drivers.
    image
  3. Click Actions / Export Selected.
    image
  4. Choose an output directory. The tool will create a separate folder for each component named by the devices name.
    image
  5. Import the component (located in the output directory\Devicename\sld directory) into the Database by using the Component Database Manager
    image imageimage 
  6. Add the component to your configuration

 

Description

Menus
File / End Ends the program
Actions / Export Selected Exports the drivers for the selected devices
Actions / Select All Selects all devices
Actions / Deselect All Deselects all devices
Actions / Refresh Refreshes the device list
View / Files of selected device
Contextmenu / Show Driver Files
Shows the needed driver files for the current selected device
View / Properties
Contextmenu / Properties
Opens the Windows properties for the current selected device
? / About Displays information about the tool
   
Toolbar

image 

image Refreshes the device list

image  Shows the needed driver files for the current selected device

image Exports the drivers for the selected devices

image Opens the Windows properties for the current selected device

Hide “Windows is starting up”, “Windows is shutting down”, … windows

There are two ways how you can remove these messages in Windows.

1. Use Minlogon
  Minlogon will remove all the status messages and the logon window and logs the system on using the SYSTEM account.
  Normally this works fine but if you need to access domains this solution will not work for you.
  Also there are some other things (Cardspace,..) which will not work with Minlogon as it’s a minimum implementation of Windows Logon.

If you cannot use Minlogon you can go with the default Windows Logon and set the following Registry Key:

2. Windows Logon with hidden status windows

  Create the following registry entry in the runtime image or add the following key to your Target Designer Image Configuration:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableStatusMessages"= dword:00000001

  After this key has been set all the status windows will disappear.

XP Embedded Builder v2 - Overview

XP Embedded Builder is a tool which allows you to create your XP Embedded images directly on the target hardware without any knowledge in Target Designer.

clip_image002[4]
The interface is like an XP Professional setup – you boot from DVD and a setup wizard will lead you through the installation.

clip_image004clip_image006

At the beginning you can enter the product key to create a full version XP Embedded image.
You’ll get your product key together with your license package. If you leave the field blank, the XPeBuilder will create an 120-day evaluation version.

clip_image008

The next step allows you to prepare your target disk drive. You can create, delete and modify partitions to build the environment you need for your application. To easily prepare a whole disk drive you can just select the disk and click “Next” – the XP Embedded Builder will then create a single primary partition on the selected drive and will format it with NTFS filesystem.

clip_image010

After the preperation is done, the setup will copy a basic XP Embedded image to the destination drive. This is a small XP Embedded image which contains only basic functionality (footprint is lower than 100MB). This image is the base for all further customizations. From now on it’s up to you to select the components you wish to add to the XP Embedded image.

The XPeBuilder offers 50 components at the moment and there will be more available from time to time.
A component in XPeBuilder is more like a macro component in Target Designer because it already contains all needed files and dependencies.

clip_image012clip_image014

Now you can specify a password for your administrator account. In the next setup screen you can create user accounts and give them the appropriate rights. You can even specify an automatic logon here.

clip_image016

The next setup screen will show you a list of all available components which are combined in groups.
To install a component just check it. If you click “Next” the XPeBuilder will check the dependencies of you selection and will add the missing components automatically. It will also check for conflicts and display you which components cannot be added together. If there is no conflict, XPeBuilder will begin with the component installation. Some components require further configuration – these components will display their own configuration windows.

clip_image018clip_image020
For example the “Control Panel Items” component lets you select each control panel entry that should be added. The “Network” component will let you specify the computername and workgroup for the device. Or the “Language Pack” component lets you specify which language packs you want to install and lets you configure a default language.

After all components have been installed the XP Embedded Builder will do it’s final work and reboot the system.

clip_image022

Now the First Boot Agent will startup to finish the image configuration. When it’s done you can finish your XP Embedded image by installing additional driver, applications and so on as on XP Professional.

Tags: XPeBuilder / WES Builder
Category:

Additional functionality for custom components in XP Embedded Builder

In the version 2.1 of XP Embedded Builder new functions were included which can be used in the custom components.

For creating customer components in XP Embedded Builder please have a look here.

Create batch commands that will run in FBA at RunOnce

You can create commands that will be executed in the RunOnce phase of FBA. To do this set the action parameter in the Step section of the component configuration file to finalize:

Sample

[Step_xx]
Action=finalize
Arg0=regedit.exe /s myregfile.reg
Arg1=del myregfile.reg

Create components for XP Professional like images only

In the new version of XP Embedded Builder it is possible to create XP Professional like images with all Embedded Features included by just selecting one option during the setup process.

If you want to create a component that will be also available for the XP Professional like installation or a component which should only be available in the XP Professional like setup mode you can use the following parameters in the component configuration.

[Component]
isXPPro=TRUE
forXPProOnly=TRUE

isXPPro –> this parameter will tell XP Embedded Builder that the component can be used in the XP Professional like setup mode too.

forXPProOnly –> this parameters tells XP Embedded Builder that the component can only be used in the XP Professional setup mode.

Additional Parameter for all XPPro options:

XPProStartStep –> this parameter will tell XP Embedded Builder where it should start with the installation.

Sample:

[Component]
Name=Network
Version=1.0
Group=Network
Order=550
isXPPro=TRUE
XPProStartStep=3

[Step_0]
Action=copy
Arg0=Data\Windows\
Arg1=[InstallWinDir]

[Step_1]
Action=reg
Arg0=Import
Arg1=[InstallWinDir]System32\config\SYSTEM
Arg2=reg.reg

[Step_2]
Action=reg
Arg0=Import
Arg1=[InstallWinDir]System32\config\SYSTEM.SAV
Arg2=reg.reg

[Step_3]
Action=Network

If you select to install the Network component in XP Professional like setup mode, XP Embedded Builder will start the component installation at Step_3. In this case it means that it will only display the preconfigured Computername setup dialog which ships with the Network component. The rest of the installation specified in Step 0-2 will be skipped because the networking components are included in the XP Professional like version by default.

Tags: XPeBuilder / WES Builder
Category:

Automatically enter the PID in XP Embedded Builder

If you don’t want to enter the PID in XP Embedded Builder all the time you can have XP Embedded Builder to do this for you.

For this please do the following:

  1. Create a textfile named PID.txt
  2. Enter the Product Key in this file including the dashes (e.g.: AAAAA-BBBBB-CCCCC-DDDDD-EEEEE)
  3. Save the PID.txt to the root of a USB flash drive
  4. Connect the USB flash drive to the target pc where you will boot XP Embedded Builder

Now every time you boot XP Embedded Builder with this USB flash drive connected the PID will be entered automatically from this file.

Tags: XPeBuilder / WES Builder
Category:

Creating and deploying images using WAIK and imagex

Before beginning with the image creation or deployment – please download the WAIK tools from Microsoft (http://www.microsoft.com/downloads/details.aspx?FamilyID=C7D4BC6D-15F3-4284-9123-679830D629F2&displaylang=en) and create either a bootable DVD or bootable USB stick which contains imagex. For this please follow the documentation that comes with the WAIK tools.

Preparation

Please follow the preparation steps for both – image creation and image deployment as you’ll need to have a working network connection.

Setting up a DHCP server

You can skip this step if you have a DHCP server running in your network.

Create a new dialup connection – the settings like number, etc. are not important.

Open the settings of the created dialup connection and enable internet sharing for the local network adapter which will be connected with your target device.

Check the IP-address of the local network adapter – it should be 192.168.0.1

Create a network share

On your development machine set up a network share where the image will be located. Please make sure you can access the network share from another pc and that you have write access to this share.

Mapping a network drive in Windows PE

Boot the target machine from the previous created media.

In the command prompt type ipconfig to check if the pc has a valid ip address. You can use ping (e.g. ping 192.168.0.1) to test if the connection to the development pc works.

Map a network drive to your development pc.

net use N: \\<IP-Address>\<Sharename> [/User:<pcname>\<username> <Password>]Sample
net use N: \\192.168.0.1\images /User:devmachine\administrator admin

Create an image

To create an image we will use the imagex tool which comes with the WAIK tools. For more information on imagex please have a look on Microsoft Technet http://technet.microsoft.com/en-us/library/cc722145.aspx

Type the following command
imagex /capture C: N:\image.wmi “Master image”You can also use additional paramters such as /compress to compress the image. For additional arguments please type imagex /?

Deploy an image

Before we will deploy the image we will prepare the target disk to make sure that the image can boot after the deployment.

Preparing the target disk

Run diskpart and type the following commands
LIST DISK

DISKPART> list disk

Disk ###  Status      Size     Free     Dyn  Gpt
  --------  ----------  -------  -------  ---  ---
  Disk 0    Online       149 GB      0 B
  Disk 1    Online       149 GB      0 B

Use this command to find out the disk id of the disk that should be used as target.

SELECT DISK 0  (instead of 0 use the appropriate disk id of your target disk)
CLEAN   (this will remove all partitions on the target disk)
CREATE PARTITION PRIMARY  (this creates a primary partition on the target disk)
ACTIVE (set the previous created partition active)
ASSIGN LETTER = C (assign the drive letter C)
FORMAT FS=NTFS QUICK (do a quick ntfs format)
EXIT (quick diskpart)

Deploy the image

Run the following command to deploy the image from the network share

imagex /apply n:\image.wim 1 c:

Reboot your machine – it should now boot from the image properly.