Windows 7 Boot Updater

W7BU_1Elbacom is working together with Coder for Life to provide you the Windows 7 Boot Updater tool that allows you to fully customize your Windows Embedded Standard 7 Bootlogo!
With the tool you can easily update your devices bootlogo so that the end user does not recognize that it is Windows that is running on the device.

The Windows 7 Boot Updater enables you to do the following customizations:

  • Change the bootanimation
  • Use a static image as bootlogo either as a fullscreen image or instead of the animation
  • Change the texts and their positions
  • Change the colors

The tool updates the bootscreen and also the resume animation when the device is resuming from hibernation.

W7BU_2Several checks assure that the update process of the customization was successful.

The tool works with the Standard Boot Environment and also with the Enhanced Write Filter Boot Environment of Windows Embedded Standard 7.

For more information and pricing please go to the Coder for Life website:

www.coderforlife.com/projects/win7boot/elbacom

Please note that the tool is modifying system files. So after a Windows Update there is a possibility that the bootlogo reverts to the original version.
The customization of the files is allowed in the ALTs of you Windows Embedded Standard product. However Microsoft will not support this change.
Elbacom and Coder for Life are not responsible for any damages - there is no warranty and no liability for any damages!

Tags: WEPOS/POSready, WES 7, Win7 FES
Category:

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>

 

“Disk Mode Write Filter” or “Resetting Differential VHDs”

The Enhanced Write Filter is also shipped with Windows Embedded Standard 7. However it does not include the Disk mode known from earlier Embedded versions. The Disk Mode allowed to save all the changes on a separate hard drive.

There is an alternative approach available to create a scenario similar to the EWFs Disk Mode – you can use VHDs.
Because Windows 7 and also WES7 support to boot from VHDs (Virtual Hard Disks) you can make use of the differential VHD feature.
This feature allows you to create one master VHD file containing the operating system in the state it should stay and a differential VHD which stores all the changes made to the master image during runtime.

image

For example you can have your Master VHD file on a Compact Flash and the differential file on a hard disk to redirect all the writes away from the flash media.

One feature from EWF is to discard all changes made to the image on every reboot.
The solution for this is to create a new differential VHD file with the master as parent and use the new VHD as default boot entry.
After a reboot the system is back in its original state.

Reset Differential VHD

To automate this process you can use the following batch file. Please adapt the paths to your VHD location in the “Variables” section. Have a look below for the installation of the batch file.

How it works

The system works with 2 differential VHD files which will be swapped out on every boot.
On each boot the batchfile checks which differential VHD is active.
It will then delete the non-active differential VHD and recreates the non-active VHD.
By this all previous changes are undone. Then the batchfile will set the new non-active VHD as new default boot device.
On the next start the system will boot from the fresh created VHD.

Batch File

 

@echo off
echo VHD Diff Resetter created by Wolfgang Unger

REM #########################
REM Variables
REM #########################
set VHD_Drive=D:
set VHD_Parent=wes7.vhd
set VHD_DiffFile1=wes7diff1.vhd
set VHD_DiffFile2=wes7diff2.vhd

set TempFile=D:\diskpart.txt
REM #########################

REM Try to delete the second diff file. if successful image 1 is bootet.
del %VHD_Drive%\%VHD_DiffFile2%
if exist "%VHD_Drive%\%VHD_DiffFile2%" goto File2

del %VHD_Drive%\%VHD_DiffFile2%

echo create vdisk file=%VHD_Drive%\%VHD_DiffFile2% parent=%VHD_Drive%\%VHD_Parent% > %TempFile%
echo exit >> %TempFile%

diskpart /s %TempFile%

bcdedit /set {current} device vhd=[%VHD_Drive%]\%VHD_DiffFile2%
bcdedit /set {current} osdevice vhd=[%VHD_Drive%]\%VHD_DiffFile2%

GOTO Done
:File2

del %VHD_Drive%\%VHD_DiffFile1%

echo create vdisk file=%VHD_Drive%\%VHD_DiffFile1% parent=%VHD_Drive%\%VHD_Parent% > %TempFile%
echo exit >> %TempFile%

diskpart /s %TempFile%

bcdedit /set {current} device vhd=[%VHD_Drive%]\%VHD_DiffFile1%
bcdedit /set {current} osdevice vhd=[%VHD_Drive%]\%VHD_DiffFile1%

:Done

del %TempFile%
echo Done.

Installation

  1. Install Windows Embedded Standard 7 to a VHD. Please have a look here for instructions.
  2. Boot the image.
  3. Save the batchfile from above to the image.
  4. Open Task Scheduler
  5. Click “Create Task…”
  6. Enter a name for the task and check “Run with highest privileges”
  7. Goto the “Triggers” tab an click “New”
  8. Select “At startup” from the “Begin the task” dropdown and click “OK”
  9. Goto the “Actions” tab and click “New”
  10. Browse to the batch file and click ok
  11. Click OK to save the task
  12. Run the batch file once and reboot

 

Usage Scenarios

This solution can be helpful when

  • using a flash disk drive which contains the master image and all changes should be located on a hard disk drive
  • changes should persist on reboots (for this do not create the task and execute the batch file only when needed)
  • you do not want to use EWF or FBWF
  • etc.
Tags: WES 7, Win7 FES
Category:

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

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.