One thing that customers may consider when choosing between different hardware vendors is whether the hardware itself is WHQL certified for XP (not XPe specifically). In other words, any 3rd party drivers for the motherboard and add-on peripherals were certified by WHQL as fully compatible with XP.
Microsoft currently does not have a certification program for Standard 2009 images. The developer of the XPe OEM image has complete control over what goes into the image; the Standard 2009 database offers high granularity in this regard.
Microsoft offers guidelines through documentation with the kit, as well as on line, but this information is not all integrated into one location.
Because every XPe image that an OEM develops is essentially a unique, limited functionality runtime platform, it is impossible for Microsoft to test every possible platform because there are over 10,000 components. The number of possible platforms is on the order of 2 to the 10,000th power according to combination theory. Instead, it is the responsibility of the image developer to fully test (the goal being 100% code coverage) the limited platform against their unique “limited functionality runtime” that the OEM is deploying as their principal application, to ensure that the limited XPe platform supports their application.
XPe’s Target Designer does perform a dependency check which automatically adds components as needed to help ensure that all inter-component dependencies are satisfied. This is the most that our tools do to help ensure image integrity.
Microsoft does strongly emphasize that the OEM develop a plan to keep the image up to date regarding security patches.
Testing Device Drivers on Windows Platforms
Configuring the User Interface (shell)
Standard 2009 provides the following shells:
Task Manager shell
Choose the Explorer shell if you want to enable the standard Windows shell experience. Command shell is usually reserved for a minimal configuration, and is usually used with the MinLogon component.
Removing the Windows splash screen after the Power On Self Test (POST)
To remove the Windows splash screen, use the /noguiboot option in your Boot.ini file. This option removes the Standard 2009 splash screen. The monitor screen remains blank until the shell loads or until the user is prompted to log on to the system.
An example of this option in an Advanced Risc Computing (ARC) path in a Boot.ini file is similar to the following:
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP Embedded" /fastdetect /noguiboot
How to replace the boot screen with one of your own.
Use the boot.ini /bootlogo switch to modify the boot at start up.
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Embedded" /NOGUIBOOT /bootlogo
Create a bitmap image file, named boot.bmp and copy it to the \WINDOWS folder. This file must be a 640 x 480 file, with 16 colors (4 bit color, not 16 bit color).
How to disable "Windows is starting up" and "Windows is shutting down" type messages
How to Get Rid of System and Application Popup Messages
Adding "Manage" functionality when building a configuration
In Windows XP Professional, when you click Start, and then right-click My Computer, one of the options on the context menu is Manage. Manage functionality offers one way of opening the Microsoft Management Console (MMC). You can add the following registry keys to a configuration in Target Designer to add manage functionality to a Windows XP Embedded runtime:
MSDN contains the required information about these keys. For additional information, visit the following Microsoft Web site, and search on the registry key:
If you have the Explorer shell component, you can also set up "Startup" items.
If you install the Command Prompt component, you can run your applications from a batch file that is automatically started by the shell from command-line arguments.
For information about launching a script via Group Policy Object, see the Scripts section in this on-line TechNet content:
Step-by-Step Guide to Understanding the Group Policy Feature Set
Removing the "Windows XP Embedded Evaluation" text in the shell
This text is not displayed after you configure the runtime with a licensed (production) PID.
How to enable context menus for "right-click" functionality in the runtime
Context menus are disabled (unchecked) by default. To enable them, you must change the configurable settings in the User Interface Core component. There are two check boxes related to context menus that you can modify:
Show context menu on Shell folders
Show context menu on Task bar
Changing the system font
To change the system font, change the FONTS.FON value in the following registry key:
Inspect this key in a Windows XP Professional computer to see exactly how it is configured in the registry. For additional information, see the following article in the Microsoft Knowledge Base:
How to Change to System Font
Disabling the Ctrl+Alt+Del keyboard combination
You can use the GINASTUB sample, found in the Platform SDK, as a basis for modifying the behavior of the Ctrl+Alt+Del keyboard combination or another logon procedure. For additional information, search on GINASTUB at the following Web site:
Set this value to 1 and the "Log on to Windows" dialog box will be suppressed.
Creating shortcut resources
To create a basic shortcut resource in Component Designer, use the following procedure. These resources also create a folder for you if you specify a folder. For example, for a Microsoft game, you can make it create the Microsoft Games folder for the Start menu.
Right-click the resources area for your component, and then click Shortcut.
Fill in the Name field. This example uses the following:
"Shortcut(819):"%SystemDrive%\Documents and Settings\All Users\Start Menu\Programs\Sideshow","Sideshow.lnk"
Fill in the Description field with whatever it is you are linking to. This example uses "Begins Sideshow".
Fill in the DstName field with the file name of the link. This example uses "Sideshow.lnk".
Fill in the DstPath field with the location that this link file points to. This example uses %SystemDrive%\Documents and Settings\All Users\Start Menu\Programs\Sideshow. This places the .lnk file in the Sideshow folder.
Fill in the TargetPath field with the path to the program that you are linking to. Be sure to add the .exe file extension in the path. This example uses "%ProgramFiles%\Sideshow\Sideshow.exe".
Fill in the WorkingDir field with the path to the folder where the program is located. Do not include the .exe file name in the path for this variable. This example uses "%ProgramFiles%\Sideshow".
Centering the search pane in an Explorer file browser window
If the search pane is not centered correctly, it may be caused by an animated character. Windows XP Embedded may not be able to render the animated character. To work around this problem and center the pane, choose Change preferences on the search pane, and then click Without an animated screen character.
How to hide the shell task bar
1. If your program is set for full screen, it can hide the task bar. In the Taskbar and Start Menu Properties (right click on the task bar) uncheck "Keep the taskbar on top of other windows" and uncheck "Lock the taskbar". Since the mouse will never be able to hover over the taskbar because it is hidden, the taskbar can never appear. This might be the easiest solution.
2. You can make your application the shell application, so explorer.exe, the owner of the taskbar, never runs at all. Configure your application so the user has no means of minimizing or shrinking it. Review these links for more information:
Creating a Windows XP Embedded Shell
Different Shells for Different Users
Managing User Profiles and user settings
How to hide the mouse pointer
Here are several methods.
If writing a C# application, do it this way:
This will hide the cursor whenever the mouse is over your application.
If you replace explorer.exe with your own (shell) app, you have complete control.
Another way is to have your application move the mouse pointer off-screen.
Configuring Internet Explorer as a full screen shell
How to use Kiosk Mode in Microsoft Internet Explorer (KB154780)