Chapter 5. Troubleshooting Introduction

Chapter 5. Troubleshooting Introduction Target Audience and Purpose
This document contains common problems and solutions.
You can use Addenda 5. Standard 2009 Troubleshooter as a general purpose troubleshooting starting point, as it contains references to the tips provided in this chapter, as well as references to other chapters and external links.
If you are troubleshooting issues that are specifically related to older product versions, refer to the content found at these links.
Microsoft Windows XP Embedded SP2 Resource Kit
The Windows XP Embedded SP1 Resource Guide
IMPORTANT NOTE: Windows XP Embedded Service Pack 1 (SP1) reached end of life on 4/10/2007 and is no longer formally supported. Security updates are no longer provided and Developer Support cases are treated as "best effort only". Service Pack 2 support formally retires on 1/11/2011.
Microsoft Support Lifecycle
Help from the embedded community
The Standard 2009 Product Team monitors the following forums site:
Windows Embedded Standard (forum)
Other links:
Discussions in Windows XP Embedded
Google Groups - microsoft.public.windowsxp.embedded
Windows Embedded Newsgroups
The Windows Embedded Standard team blog
An excellent resource to take advantage of is the following Web site:
www.xpefiles.com
Design tools Target Designer Development Filters in Target Designer causing a CMI error
If you are using a complex filter, you may receive the following error message:
The CMI encountered the following error:
0x80042335 (-2147212491)
A database error occurred within the CMI.
To resolve this issue, add the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Embedded\CMI\DBCmdTimeout
You can then create the DBCmdTimeout DWORD value type, and set the value to 300, which is 5 minutes. If the error occurs again, or if you are using a more complex filter algorithm, you may need to increase the DBCmdTimeout value.
Configuration error when you try to create a new configuration
When you click New on the File menu, and then try to type a configuration name, you may receive the following error message:
Configuration Management Error Code=0x8002801d
To resolve this problem, upgrade your development computer to Windows Script 5.6 for Windows XP:
Windows Script 5.6 for Windows XP and Windows 2000
Component development Component development, debugging and testing tools
For links to useful debugging tools, refer to the following Addenda:
Addenda 2. General Microsoft resources
Addenda 3. Third-party resources
Problem re-importing a component in an XP Pro development system
If you add a custom component to the component database, and attempt to later update this component (re-import it), you may get an error when you trying to re-import it. This behavior may occur because the repository share is read-only. To resolve this problem, do one of the following:
Change the permissions, and then push the permissions through to all the folders in the share to prevent this problem from occurring in the future with other component repositories. Before doing this however, make sure you are not using Simple File Sharing which does not provide full visibility of all properties. In File explorer, click Tools->Folder Options... Click on the View tab. At the bottom of the Advanced Settings list, make sure the following is not checked: Use simple file sharing. Then click on the button labeled Apply to All Folders. Now you can set permissions for which users can share the Repositories folder etc.
In Explorer, delete your old custom repository manually. To discover the relationship between the name of a repository and its folder name, run Component Database Manager and click on the Repository tab. An example of a repository folder is {FA42B463-6457-41E5-93B2-2F21BA2D28D7}. Then re-import the .sld file.
When you import the new .sld file, if the new .sld file involves no changes to the files in the repository, click to clear the Copy files to repository check box when you click the Import button.
For additional information, visit the following Microsoft Web site:
Hodge Podge Lodge: Remote Debugging, Localization, and Globalization in Windows XP Embedded
Embedded image deployment
This section includes troubleshooting tips and workarounds for known issues.
The following tips are from the original release of Windows XP Embedded SP1, but many are still relevant to SP2 and beyond.
Microsoft Windows XP Embedded Technical Frequently Asked Questions
Licensing Licensing issues when you install Office on a runtime
It is generally not acceptable or applicable to install Microsoft Office in a Standard 2009 runtime. Standard 2009 is designed for creating "limited functionality runtime devices".
Standard 2009 can be licensed for use for line-of-business applications only. The number of other applications that can be used is unlimited, as long as they are required for use as part of the specific OEM embedded role or application. If you have a scenario that requires Microsoft Office, you can use either Windows XP Home or Windows XP Professional to fulfill the licensing and functional requirements of Microsoft Office.
Common issues Your design reports CMI Error 0x800A01C9 (or other CMI errors)
CMI error code 0x800a01c9 (The index specified does not reference an existing item in the collection) can happen when:
Upgrading a pre-existing image using Configuration->Upgrade Configuration
Building a new design and you choose primitive level components that are end of life, Prototype, or otherwise obsolete.
1. If creating an initial design, start by choosing macros found in the Design Templates branch in Target Designer, and/or top level feature components such as those listed in the companion spreadsheet "Windows Embedded Standard 2009 Components.xls". If you manually include low level components such as components whose name starts with "Primitive" you might inadvertently include end of life or prototype components that are not compatible with the current database version level.
2. Remove Prototype components from your image. It is possible that you manually included one or more Prototype components in your old SP1 image. Prototype components are not intended to be used in a configuration, they serve as abstract base prototype components for building real components. Target Designer makes some of these prototype components visible and hence selectable by the developer. Search for and delete any components that contain the word Prototype.
3. Make sure your database is at the same version level or higher, than the design you are attempting to load, and all the latest security updates (for components) are installed. Otherwise you may get errors relating to (newer) components not being found by Target Designer.
4. This error can occur when upgrading an SLX that contains any of the components that have been marked as “End of life” in SP2. This problem has been reported with both "MSN Explorer" and WMP 8.0 components.
The following list of components have been marked as End of Life for SP2. Please delete these components from your SP1 SLX before attempting to upgrade to SP2 or later.
Common Control Libraries Policy 6 [6.0.0.0] [R101514]
|
Common Control Libraries Version 6 [1.0.0.0] [R101509]
|
Common Control Libraries Version 6 [6.0.2800.1515] [R101906]
|
DirectShow Indeo4 [R100624]
|
DirectShow Indeo5 [R100624]
|
DirectShow Indeo5Audio [R100624]
|
Electronic Program Guide Database [R100625]
|
GDI+ Policy XPSP1 [R101509]
|
GDI+ XPSP1 [R101510]
|
ICM: DiamondTron Monitor G18 D50 [R100622]
|
ICM: DiamondTron Monitor G18 D65 [R100622]
|
ICM: DiamondTron Monitor G18 D93 [R100622]
|
ICM: DiamondTron Monitor G22 D50 [R100622]
|
ICM: DiamondTron Monitor G22 D65 [R100622]
|
ICM: DiamondTron Monitor G22 D93 [R100622]
|
ICM: Generic Monitor Adobe1998RGB D65 WP 2.2 Gamma [R100622]
|
ICM: Generic Monitor AppleRGB D65 WP 1.8 Gamma [R100622]
|
ICM: Hitachi Monitor G18 D50 [R100622]
|
ICM: Hitachi Monitor G18 D65 [R100622]
|
ICM: Hitachi Monitor G18 D93 [R100622]
|
ICM: Hitachi Monitor G22 D50 [R100622]
|
ICM: Hitachi Monitor G22 D65 [R100622]
|
ICM: Hitachi Monitor G22 D93 [R100622]
|
ICM: NEC Multisync Monitor G18 D50 [R100622]
|
ICM: NEC Multisync Monitor G18 D65 [R100622]
|
ICM: NEC Multisync Monitor G18 D93 [R100622]
|
ICM: NEC Multisync Monitor G22 D50 [R100622]
|
ICM: NEC Multisync Monitor G22 D65 [R100622]
|
ICM: NEC Multisync Monitor G22 D93 [R100622]
|
ICM: Trinitron Monitor G18 D50 [R100622]
|
ICM: Trinitron Monitor G18 D65 [R100622]
|
ICM: Trinitron Monitor G18 D93 [R100622]
|
ICM: Trinitron Monitor G22 D50 [R100622]
|
ICM: Trinitron Monitor G22 D65 [R100622]
|
ICM: Trinitron Monitor G22 D93 [R100622]
|
Legacy: 001 MB Page File [R100001]
|
Legacy: 002 MB Page File [R100001]
|
Legacy: 004 MB Page File [R100001]
|
Legacy: 008 MB Page File [R100001]
|
Legacy: 016 MB Page File [R100001]
|
Legacy: 032 MB Page File [R100001]
|
Legacy: 064 MB Page File [R100001]
|
Legacy: 128 MB Page File [R100001]
|
Legacy: 256 MB Page File [R100001]
|
Legacy: 3Com Etherlink III (3C509) [R100001]
|
Legacy: 3Com Etherlink III (3C509) <2> [R100001]
|
Legacy: 3Com Etherlink III PCI (3C590) [R100001]
|
Legacy: 3Com Fast EtherLink XL (3C900) [R100001]
|
Legacy: 3Com Fast EtherLink XL (3C905) [R100001]
|
Legacy: 3Com Fast EtherLink XL NIC (3C905B-TX) [R100001]
|
Legacy: 3Com Fast EtherLink XL NIC (3C905B-TX) <2> [R100001]
|
Legacy: 486c HAL [R100001]
|
Legacy: 512 MB Page File [R100001]
|
Legacy: ACL Editor [R100001]
|
Legacy: Adaptec AHA-154X Plug and Play [R100001]
|
Legacy: Adaptec AHA-154X/AHA-164X [R100001]
|
Legacy: Adaptec AHA-294X/AHA-394X or AIC-78XX PCI [R100001]
|
Legacy: Add Printer Wizard [R100001]
|
Legacy: aha154x [R100001]
|
Legacy: aic78xx [R100001]
|
Legacy: Alerter [R100001]
|
Legacy: AMD PCNET ISA/VESA [R100001]
|
Legacy: AMDPCN [R100001]
|
Legacy: APIC HAL [R100001]
|
Legacy: AppleTalk [R100001]
|
Legacy: Arial Font [R100001]
|
Legacy: ASP [R100001]
|
Legacy: AST HAL [R100001]
|
Legacy: AT Command [R100001]
|
Legacy: ATI [R100001]
|
Legacy: ATI Graphics Adapter [R100001]
|
Legacy: AutoCheck [R100001]
|
Legacy: Automatic Logon [R100001]
|
Legacy: Buslogic [R100001]
|
Legacy: BusLogic Multimaster PCI SCSI Host Adapters [R100001]
|
Legacy: Calculator [R100001]
|
Legacy: Cbus HAL [R100001]
|
Legacy: Cbusm HAL [R100001]
|
Legacy: CDFS [R100001]
|
Legacy: Character Map [R100001]
|
Legacy: Chat [R100001]
|
Legacy: Chips [R100001]
|
Legacy: Chips Video Accelerator [R100001]
|
Legacy: Cirrus [R100001]
|
Legacy: Cirrus Logic 5465 Graphics Adapter [R100001]
|
Legacy: Cirrus Logic Graphics Adapter [R100001]
|
Legacy: CL546x [R100001]
|
Legacy: ClipBook Viewer [R100001]
|
Legacy: Clock [R100001]
|
Legacy: COM1 [R100001]
|
Legacy: COM2 [R100001]
|
Legacy: COM3 [R100001]
|
Legacy: COM4 [R100001]
|
Legacy: Command Shell [R100001]
|
Legacy: Compaq Netelligent 10 or 10/100 PCI [R100001]
|
Legacy: Compaq Netelligent 10/100 TX Embedded UTP [R100001]
|
Legacy: Computer Browser [R100001]
|
Legacy: Console Administration Common [R100001]
|
Legacy: Copy File Command (XCOPY.EXE) [R100001]
|
Legacy: Courier Font [R100001]
|
Legacy: CpqNF3 [R100001]
|
Legacy: Cryptography Core [R100001]
|
Legacy: DC21X4 [R100001]
|
Legacy: DCOM [R100001]
|
Legacy: DEC PCI Fast Ethernet DECchip 21142 [R100001]
|
Legacy: DEC PCI Fast Ethernet DECchip 21143 [R100001]
|
Legacy: Default Page File [R100001]
|
Legacy: Device Settings [R100001]
|
Legacy: DHCP Client [R100001]
|
Legacy: DHCP Server [R100001]
|
Legacy: Dial-Up Networking Serial Cable between 2 PCs [R100001]
|
Legacy: Digi DataFire Driver [R100001]
|
Legacy: Digi DataFire PCI 1 S/T ISDN Adapter [R100001]
|
Legacy: Digi DataFire PCI 1 S/T ISDN Adapter <2> [R100001]
|
Legacy: Disk Administrator [R100001]
|
Legacy: DiskOnChip As Disk [R100001]
|
Legacy: Display Common [R100001]
|
Legacy: DNS Server [R100001]
|
Legacy: Domain Participation [R100001]
|
Legacy: E100B [R100001]
|
Legacy: E100BNT [R100001]
|
Legacy: EIDE CD-ROM [R100001]
|
Legacy: EIDE Disk [R100001]
|
Legacy: EIDE SCSI Adapter [R100001]
|
Legacy: EIDE SCSI Driver [R100001]
|
Legacy: El Torito CD As Disk [R100001]
|
Legacy: El59X [R100001]
|
Legacy: EL90x [R100001]
|
Legacy: Elnk3 [R100001]
|
Legacy: English (US) Input Locale [R100001]
|
Legacy: Event Logging [R100001]
|
Legacy: Event Viewer [R100001]
|
Legacy: Explorer [R100001]
|
Legacy: Explorer Links [R100001]
|
Legacy: Explorer Shell [R100001]
|
Legacy: FAT [R100001]
|
Legacy: Fault Tolerance [R100001]
|
Legacy: File ACL Command (CACLS.EXE) [R100001]
|
Legacy: File and Print Services for NetWare [R100001]
|
Legacy: File Attribute Command (ATTRIB.EXE) [R100001]
|
Legacy: FTP Performance Counters [R100001]
|
Legacy: Graphical Remote Administration [R100001]
|
Legacy: HP LaserJet 6L [R100001]
|
Legacy: HP LaserJet 6L - Shared [R100001]
|
Legacy: Hyper Terminal [R100001]
|
Legacy: IDE Disk [R100001]
|
Legacy: IEEPRO [R100001]
|
Legacy: IIS 3.0 [R100001]
|
Legacy: Intel EtherExpress PRO (E100B) [R100001]
|
Legacy: Intel EtherExpress PRO (E100BNT) [R100001]
|
Legacy: Intel EtherExpress PRO (IEEPRO) [R100001]
|
Legacy: Internet Service Manager [R100001]
|
Legacy: IPX/SPX [R100001]
|
Legacy: Kernel TSP [R100001]
|
Legacy: Keyboard Drivers Common [R100001]
|
Legacy: Keyboard Locale Common [R100001]
|
Legacy: LAN Manager Server [R100001]
|
Legacy: LAN Manager Workstation [R100001]
|
Legacy: Logitech PS/2 Mouse [R100001]
|
Legacy: Logon Screen Saver [R100001]
|
Legacy: LPT1 [R100001]
|
Legacy: LPT2 [R100001]
|
Legacy: Lucida Console Font [R100001]
|
Legacy: Lucida Unicode Font [R100001]
|
Legacy: Manual Shell [R100001]
|
Legacy: Matrox Graphics Adapter [R100001]
|
Legacy: Matrox Millenium Graphics Adapter [R100001]
|
Legacy: MCA HAL [R100001]
|
Legacy: Messenger [R100001]
|
Legacy: MGA [R100001]
|
Legacy: MGA64 [R100001]
|
Legacy: Microsoft PS/2 Mouse [R100001]
|
Legacy: Minimal OS [R100001]
|
Legacy: MMC [R100001]
|
Legacy: Modem Console Administration [R100001]
|
Legacy: Modern Font [R100001]
|
Legacy: Mouse Common [R100001]
|
Legacy: MPS HAL [R100001]
|
Legacy: MPSM HAL [R100001]
|
Legacy: MS Sans Serif Font [R100001]
|
Legacy: N100 [R100001]
|
Legacy: NCR HAL [R100001]
|
Legacy: NE2000 [R100001]
|
Legacy: Net Command (NET.EXE) [R100001]
|
Legacy: NetBEUI [R100001]
|
Legacy: NetBIOS [R100001]
|
Legacy: NetDDE [R100001]
|
Legacy: Network Common [R100001]
|
Legacy: No Page File [R100001]
|
Legacy: Notepad [R100001]
|
Legacy: Novell NE2000 Compatible Adapter [R100001]
|
Legacy: NT LM Security Support Provider [R100001]
|
Legacy: NTFS [R100001]
|
Legacy: NULL [R100001]
|
Legacy: Null Keyboard Driver [R100001]
|
Legacy: Null Mouse [R100001]
|
Legacy: NullVGA [R100001]
|
Legacy: Object Packager [R100001]
|
Legacy: ODBC Access Driver [R100001]
|
Legacy: ODBC Core [R100001]
|
Legacy: ODBC Jet Support [R100001]
|
Legacy: ODBC SQL Server Driver [R100001]
|
Legacy: OLE/COM [R100001]
|
Legacy: Olivetti HAL [R100001]
|
Legacy: Paint [R100001]
|
Legacy: Parallel Ports Common [R100001]
|
Legacy: PC/AT Keyboard Driver (101/102-Key) [R100001]
|
Legacy: Performance Counters [R100001]
|
Legacy: Performance Monitor [R100001]
|
Legacy: Phone Dialer [R100001]
|
Legacy: PPTP [R100001]
|
Legacy: Primary Domain Controller [R100001]
|
Legacy: Printer Common [R100001]
|
Legacy: Quick View [R100001]
|
Legacy: RAS Client [R100001]
|
Legacy: Realtek RTL8029 PCI Adapter [R100001]
|
Legacy: Registry Editor [R100001]
|
Legacy: Roman Font [R100001]
|
Legacy: RPC [R100001]
|
Legacy: RRAS [R100001]
|
Legacy: RTL8029 [R100001]
|
Legacy: S3 [R100001]
|
Legacy: S3 Graphics Adapter [R100001]
|
Legacy: SAP Agent [R100001]
|
Legacy: Scheduler [R100001]
|
Legacy: Script Font [R100001]
|
Legacy: SCSI CD-ROM [R100001]
|
Legacy: SCSI Common [R100001]
|
Legacy: SCSI Disk [R100001]
|
Legacy: Serial Console Administration [R100001]
|
Legacy: Serial Mouse [R100001]
|
Legacy: Serial Ports Common [R100001]
|
Legacy: Server System [R100001]
|
Legacy: Service Settings [R100001]
|
Legacy: Services for Macintosh [R100001]
|
Legacy: Shutdown Utility [R100001]
|
Legacy: Simple TCP Services [R100001]
|
Legacy: SIS Graphics Adapter [R100001]
|
Legacy: SiSV [R100001]
|
Legacy: SMC EZ Card PCI 10 Adapter [R100001]
|
Legacy: SMC LAN9000/91C94/91C100 Ethernet Adapter [R100001]
|
Legacy: SMC1208 [R100001]
|
Legacy: SMC9xxx [R100001]
|
Legacy: SNMP [R100001]
|
Legacy: Sportster 28.8Kbps Internal Modem [R100001]
|
Legacy: Sportster 56Kbps External Modem with X2 [R100001]
|
Legacy: Standard 28.8Kbps Modem [R100001]
|
Legacy: Standard Accessibility [R100001]
|
Legacy: Standard Floppy Disk [R100001]
|
Legacy: Standard HAL [R100001]
|
Legacy: Standard OS [R100001]
|
Legacy: Symbol Font [R100001]
|
Legacy: System Cloning [R100001]
|
Legacy: System Message Interception [R100001]
|
Legacy: SystemPro HAL [R100001]
|
Legacy: TAPI 2.1 [R100001]
|
Legacy: Task Manager [R100001]
|
Legacy: Task Manager Shell [R100001]
|
Legacy: TCP/IP [R100001]
|
Legacy: TCP/IP Printing [R100001]
|
Legacy: TCP/IP Utilities [R100001]
|
Legacy: TD Completeness [R100001]
|
Legacy: Telnet Server [R100001]
|
Legacy: Tgiul40 [R100001]
|
Legacy: Time Zone Settings [R100001]
|
Legacy: Times Font [R100001]
|
Legacy: Trident Video Accelerator [R100001]
|
Legacy: Unimodem [R100001]
|
Legacy: US Keyboard Layout [R100001]
|
Legacy: User Manager [R100001]
|
Legacy: User Manager for Domains [R100001]
|
Legacy: VGA [R100001]
|
Legacy: Virtual Memory Common [R100001]
|
Legacy: Windows NT Command Prompt [R100001]
|
Legacy: Windows NT Diagnostics [R100001]
|
Legacy: Windows NT Help Engine [R100001]
|
Legacy: Wingdings Font [R100001]
|
Legacy: Winmodem 56Kbps Modem [R100001]
|
Legacy: WINS Server [R100001]
|
Legacy: WinSock [R100001]
|
Legacy: WMI [R100001]
|
Legacy: Wordpad [R100001]
|
Legacy: Workgroup Participation [R100001]
|
Legacy: Workstation System [R100001]
|
Legacy: Write Filter [R100001]
|
Legacy: WWW Performance Counters [R100001]
|
Legacy: Wyse HAL [R100001]
|
MSN Explorer [R102078]
|
RTC User Agent Library [R101509]
|
TAPI Audio, Video and RTP Filters [R101509]
|
Time Shifting / Digital Video Recording [R100625]
|
Windows Firewall/Internet Connection Sharing [R102097]
|
Windows Media Player 8.0 [R101902]
|
Windows Media Player Skins [R101903]
|
Windows Update Web Access Component [R102090]
|
|
| The Memory.dmp dump file is never created when the system stops
You may want to use the Memory.dmp file to troubleshoot issues with your applications and the runtime. However, when the computer runs a bug check, you receive indications that the Memory.dmp file is being saved to disk, but when you restart the computer, the file is not there.
This behavior occurs because the default log file path is "%SystemRoot%\Memory.dmp". You have to change this to a path similar to "C:\Windows\Memory.dmp".
You can change the path either in the System item in Control Panel, or you can modify the registry at the following location:
HKEY_LOCAL_MACHINE\System\ControlSet001\Control\CrashControl\DumpFile
If you modify the run-time image while it is not running (that is, when it is offline), use Regedit to open and edit the System hive.
Additional dump file considerations:
Set the memory.dmp path to a hard path such as c:\memory.dmp
Make the registry change to enable crashing via keyboard, KB 244139
Windows feature allows a Memory.dmp file to be generated with the keyboard
Set it for a complete memory dump (if you want a minidump, you must also include the Save Dump component in your build)
Ensure the pagefile is at least as big as the amount of your system memory
Ensure you have enough free disk space to accommodate the memory.dmp file
Ensure the pagefile is located on your system volume, then reboot
To configure Dr. Watson, run drwtsn32.exe.
A related link:
How to disable Dr. Watson for Windows
You cannot set HI resolution mode for ATI RAGE video adapters
This problem affects ATI Rage Mobility Pro Video Adapter Components that have the following descriptions:
ATI 3D RAGE LT PRO
ATI RAGE Mobility
ATI RAGE Mobility-L
ATI RAGE Mobility-P
ATI RAGE Mobility-M
ATI RAGE Mobility-M1
If you are using an ATI Rage Mobility Pro video adapter in your run-time configuration, you may find that the ATI Hotkey Poller Service entry that comes with the ATI Rage Mobility Pro drivers does not start correctly in the run-time image. This causes the video adapter to be installed incorrectly after the run-time image is complete.
To resolve this problem, you must first disable the ATI Hotkey Poller service entry in the component. To do this:
Select the ATI Rage Mobility Pro instance found in your configuration (in the center pane of Target Designer).
Ensure that the [View -> Resources] check box is selected in the main Target Designer menu.
Expand the tree under the ATI Rage Mobility Pro Instance.
Select the expanded tree on [Resources].
In the right pane, find the ATI Hotkey Poller service data entry.
Right-click the ATI Hotkey Poller service data entry, and then click Disable. If a dialog box opens, click Continue.
After you disable the ATI Hotkey Poller service data entry, during the initial boot of the run-time image the ATI Hotkey Poller will be enumerated and start appropriately. You can then use the full functionality of the ATI Rage Mobility Driver in your run-time configuration.
Unsigned device drivers are not installed on run-time images
OEM developers trying to install unsigned drivers should contact the hardware vendor to determine if updated signed drivers are available. Otherwise, you can use the Sigverif.exe tool that is included in Windows Millennium, Windows 2000, and Windows XP Professional to detect unsigned drivers and files. Sigverif.exe allows you to scan either specific folders or the entire system for unsigned files. Then Sigverif.exe produces a report of its findings. You can also change the value of the following registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing\Policy
to hex:00 so that unsigned drivers will install.
Some Start menu shortcuts are not provided
Links to features, such as Activate Windows, Tour of Windows XP, Imaging, System Information, and CD Player do not operate as these features are not included in Standard 2009.
You must add a missing registry key to properly configure video drivers
A registry key is required to enable some NVidia and other multi-head video cards to be configured correctly and to function correctly. Add the following key (with no value other than the default value) to the registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers\UseNewKey
Managing printers
The Print UI wizard calls into printui.dll, which uses the Win32 spooler APIs, which in turn call into the spooler service. You can also directly use the rundll32 interface of printui.dll to automate or script print management. First make sure the "Print Spooler" service is running.
Another printer management method is to use prnmngr.vbs script that ships with XP to add/delete/list/etc local printers. This script can be added to your Standard 2009 image by adding the Print Administration Scripts component in Target Designer. Note that this script uses WMI to manage the printers (specifically WMI Scripting, WMI Win32 Provider, WMI Core and WMI Tools). You also need the CMD - Windows Command Processor and Windows Script Engines components to be able to run scripts on the Standard 2009 device.
Run cscript prnmngr.vbs in a command window to see the usage.
Dialogs and Fonts do not appear correctly, some dialogs may be distorted
This may be due to missing one or more system fonts. Try adding the MS Sans Serif font.
USB Printer support not working
To enable USB printer support, add the Primitive:Win32spl component.
The Add Printer Wizard will not work unless the Unidrv.hlp file and all printer-specific .hlp files are present.
Note To reduce the run-time footprint, you must adjust your global settings to include Help files, and then clear the Help inclusion option for all unwanted Help in the configuration. Alternately you can manually copy the Help files from the repository to your master target image, before running FBA.
Clicking the "Print" toolbar button in Internet Explorer and other programs opens the "Print" dialog box even though you have already set a default printer
To resolve this issue, modify the "Extra Registry Data" branch in your Target Design as follows:
Add the following registry key. Click to select the Key only check box because you only need a key and not a value:
Root: HKEY_LOCAL_MACHINE
Key Name: SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\win.ini\Windows
Add the following value as extra registry data (leave value name empty) to the key you created in step 1:
Root: HKEY_LOCAL_MACHINE
Key Name: SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\win.ini\Windows
Type: REG_SZ
Value: USR:Software\Microsoft\Windows NT\CurrentVersion\Windows
Setting video resolution offline does not always work.
This behavior can be caused by either of the following conditions:
Lack of Plug and Play components in the configuration.
A color depth setting that the drivers will not accept.
To resolve this issue, do one of the following:
Ensure that PnP(User), PnP(Kernel), FBA: PnP, and Plug and Play Software Enumerator are in the configuration.
Set the color depth for a lower setting. For example, if you are trying to set a 32-bit color depth and the screen resolution after FBA is incorrect, set it for 16-bit or set the Component Management Interface (CMI) property, cmiColorQuality, to 24 (the 24-bit equivalent) if the hardware and driver set supports this color depth.
Run-time images do not report drivers as being driver-signed
This is a known issue and is by design. Standard 2009 does not perform driver signing checking (search for MinimizeFootprint in this document for more information).
You need a file to enable desktop shortcuts to MS-DOS programs
By default, desktop shortcuts to MS-DOS programs are not supported. To resolve this issue, add the Apps.inf file to your image. The Apps.inf file is located in the repository to the Windows\Inf folder. The Apps.inf file allows you to create shortcuts to MS-DOS programs. Shortcuts to MS-DOS programs will have a generic icon instead of the MS-DOS icon.
Desktop Cleanup tool not available in Standard 2009
This is a known issue. The Desktop Cleanup tool is not configurable and may not run in Standard 2009. In Windows XP, there are configuration items located in the "Customize Desktop" window that are invoked from the Desktop tab of the Display properties.
The resolution or color depth do not appear correctly or the refresh rate does not appear in the Configuration UI in Target Designer
You can further adjust the display adapter attributes in your video driver component. To do so, use the Extended Properties instead of the Settings user interface. To open the Extended Properties, click the Advanced button that is located in the left pane of Target Designer. However, you must set these adapter attributes to a value that is also accepted in the Settings user interface configuration list. If you change the following display adapter attributes to a value that is not normally accepted in the Settings configuration list, a Target Designer script error may occur when the runtime is built. This rule applies to the following extended properties:
cmiScreenResolution
cmiColorQuality
cmiScreenRefresh
When you boot your Standard 2009 runtime for the first time, you receive an error message
The first time you boot your Standard 2009 runtime, you receive the following error message:
A problem is preventing Windows from accurately checking the license for this computer.
This behavior usually indicates that you did not correctly set the partition size in Target Designer. It is important that the Standard 2009 tools and First Boot Agent (FBA) know the destination partition size. If the true partition size is very different from your property settings in Target Designer, you will receive this error message. To verify or modify the partition size setting in Target Designer:
Open your configuration in Target Designer.
Click the Settings node. The Settings node is located near the top in the root of this configuration.
Click Target Device Settings in the list of links in the configuration user interface in the right pane.
Under Target Device Settings, click Show to reveal the detailed target configuration settings.
Locate the Boot Partition size (MB) setting. The default value is 1024 MB. This setting assumes that your destination partition will be approximately 1 GB in size.
Change this setting to indicate what the target device partition size will be when you deploy the runtime. Set the target device partition size as closely as possible. While the setting does not need to be exactly the same as the target device partition size, it must not differ too much from the actual partition size.
Note You can ignore the Partition cluster size setting. It does not affect your runtime's functionality. Target Designer uses the Partition cluster size setting to estimate the runtime's footprint during the check dependency and build phases. Changing this value to match the destination partition cluster size simply makes the footprint estimates more accurate.
Important If you did change the Boot partition size (MB) value, you must run check dependency again before you rebuild the runtime. Otherwise, the runtime will continue to fail.
You cannot print to some Windows-based printers.
You may encounter the issue where the Standard 2009 device cannot print to other computers that are sharing out printers and that run on the following operating systems:
Windows 95
Windows 98
Windows 98 Second Edition
Windows Millennium Edition
Windows NT 4.0 Alpha printer
This is a known issue. The problem occurs because the call to the InfGetDependentFilesAndICMFiles function fails because the GetPrinterDriverDirectory function fails. The GetPrinterDriverDirectory function fails on a Standard 2009 system because some keys and values are missing from the registry. This causes an "invalid environment" error message. The missing keys and values are:
Keys:
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Drivers
Values:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Directory
Type: REG_SZ
Data: W32ALPHA
To resolve the problem:
Add the following registry keys and values as a registry resources in the Printer_Common_2.sld file:
Keys:
SYSTEM\CurrentControlSet\Control\Print\Environments
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows IA64
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Drivers
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows IA64\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows IA64\Drivers
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers
Values:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Directory
Type: REG_SZ
Data: W32ALPHA
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Directory
Type: REG_SZ
Data: W32X86
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows IA64\Directory
Type: REG_SZ
Data: IA64
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows 4.0\Directory
Type: REG_SZ
Data: WIN40
Remove the following registry keys and values from the registry resources that are defined in the following .sld files:
Client_Printing.sld
Local_Printing.sld
Server_Printing.cld
These keys and values will be moved in Printer_Common_2.sld because Printer_Common_2.sld is common for all printing components. Therefore, you do not need to have them defined in three .sld files.
Keys:
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows IA64\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows IA64\Drivers
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows IA64
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0\Print Processors
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers
SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0
SYSTEM\CurrentControlSet\Control\Print\Environments
Values:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Directory
Type: REG_SZ
Data: W32X86
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows IA64\Directory
Type: REG_SZ
Data: IA64
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows 4.0\Directory
Type: REG_SZ
Data: WIN40
Boot Time Errors The target Standard 2009 system hangs or produces a blue screen upon first boot
This behavior may occur if critical boot hardware components are missing from the build. This can happen if you used Ta.exe instead of Tap.exe to obtain your initial list of the boot hardware. To use Tap.exe, you must first install the full Windows XP Professional operating system into your target runtime. Tap.exe takes advantage of the Plug-and-Play processes that Windows XP uses to fully detect hardware buses and devices.
Note that to install Windows XP Professional, you will minimally require a keyboard and a standard display device with a minimum resolution of 640 x 480 pixels. You can remove these devices later if your final design does not require them.
If Windows XP Professional fails to install on the target hardware, it is likely that the target hardware does not meet the minimal requirements of Standard 2009.
You receive an "NTLDR missing" error message before you receive the operating system selection screen
To resolve this problem, ensure that the NTLDR file is located in the root of the active partition of the hard disk drive. Also NTDETECT.COM and BOOT.INI must be located there.
You receive a "HAL.DLL not found" error message after you receive the operating system selection screen
If this situation occurs, the Boot.ini file may be incorrect. Ensure that the Windows directory name field is correctly filled out to point to the embedded image. For example, in your Boot.ini file, your Advanced Risc Computing (ARC) path may look similar to the following if it were going to the master hard disk drive on the primary IDE channel:
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP Embedded" /fastdetect
The partition would be the first on the hard disk drive, and Windows is the proper Windows folder name.
You receive a "Computer disk hardware configuration" error message after you receive the operating system selection screen
If this situation occurs, the Boot.ini file may be incorrect. Ensure that the rdisk() and partition() fields are correctly filled out to point to the embedded image. For example, in your Boot.ini file, your Advanced Risc Computing (ARC) path may look similar to the following if it were going to the master hard disk drive on the primary IDE channel:
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP Embedded" /fastdetect
The partition would be the first on the hard disk drive, and Windows is the proper Windows folder name.
How to avoid receiving a "Missing pci.sys" error message or avoid missing other critical boot devices during initial boot of the runtime
During the initial boot into your Standard 2009 runtime, if you receive a "Missing pci.sys" error message that prevents First Boot Agent (FBA) from starting, your configuration is missing at least one critical boot device. This error also occurs if you are missing other critical boot files such as an Integrated Drive Electronics (IDE) Controller driver. Note that this does not apply to any error messages regarding a missing Hal.dll file or a missing Kernel, which would usually indicate that the ARC path in your Boot.ini file is incorrect.
This error can occur for several reasons. The most common causes are:
You used Ta.exe to collect the hardware information on your embedded device but the basic input/output system (BIOS) on the target device returned device information that could not be found in the dependency database when you imported the Devices.pmq file.
The generic Peripheral Component Interconnect (PCI) bus component or the PCI bus component for your particular chip set has been disabled or deleted.
Your device requires a driver that is not in the database.
Resolution
Avoid using Ta.exe to collect hardware information on your embedded device.
Do not confuse Ta.exe with Tap.exe. Ta.exe is designed to be used in real mode and it queries the BIOS for the hardware information. If the BIOS returns incorrect VenDev IDs or returns no ID at all for a particular device, you may have incorrect information in the PMQ or you may be missing critical information all together. In that case, you should already have an intimate knowledge of the hardware your specific embedded device will be supporting, so you should be able to easily gather the information on the devices that your BIOS missed.
One workaround for the BIOS issue is to use Tap.exe. However, you should only run Tap.exe from Windows XP Professional, which means that you must first install a full build of Windows on the target embedded device and experiment with it. From that build of Windows, run Tap.exe. This tool will parse the ENUM key in your registry to gather the hardware information that is populated by Setup and by Plug and Play.
The generic PCI bus component has been disabled or deleted.
To determine if a PCI bus component has been disabled or deleted, check your configuration to see if you have inadvertently disabled any critical boot devices such as PCI Bus or IDE Controllers.
Your device requires a driver that is not in the database.
If you are missing third-party drivers in the database, it usually means that the driver you are using is not included in the full Windows XP Professional product (Standard 2009 obtains all of its Device driver components from the drivers that are supplied in Windows XP Professional). Therefore, the driver will be missing in your dependency database. However, the Standard 2009 tools suite includes tools such as Component Designer that you can use to create components for these third-party drivers so you can import them into your database and add them to your configuration.
Your resulting Devices.pmq file will contain all the hardware necessary to start the device, and it will be operational as long as your configuration satisfies all of the hardware dependencies.
The downside to using Tap.exe is that there are many more devices listed in the PMQ that you will probably not need. For example, there will be software enumerated devices such as RAS Async, or the Terminal Server redirectors that are not real devices. Therefore, if you do not know whether or not you need them, it is more than likely that you can disable or remove these devices in your configuration to reduce your footprint. Do this before you run Check Dependencies (F5) in Target Designer.
Another downside to using Tap.exe is that it will also pick up device information for hardware that used to be installed on the embedded device but has since been removed or replaced. For example, if you plug in a Web camera, install the drivers, remove the Web camera from the system, and then run Tap.exe, Tap.exe will still pick up the Web camera device ID and add it to the PMQ. This behavior occurs because the camera device information is still in the registry from which Tap.exe collects the hardware data. When you import that PMQ into Target Designer, it will show the Web camera device in the default configuration. If you no longer use the Web camera, you should disable it in the configuration before you run dependency checks for the first time. If you neglect to disable a device that you have removed or replaced, you will bring in superfluous drivers and their dependencies, and increase your run-time footprint.
How to avoid the "Stop Error 6B" error during the initial boot of the runtime
If your runtime stops responding and displays a blue screen with debugging information the first time that you boot into it, and you receive a bug check code 6B, you left out a necessary file system component. For example, if you have satisfied your file system component requirement in Target Designer by adding the file allocation table (FAT) component, but the destination partition has NTFS, you will receive this error. You will also see this error if you only added NTFS, but your system required FAT. There are four file system components in the database: FAT, NTFS, CDFS (for CDs), and UDFS (for DVDs). If you want, you can add all four components. They will not conflict with each other.
Note: The FAT component is for FAT16 and FAT32.
How to avoid the "Stop Error 7B" error during the initial boot of the runtime
If your runtime stops responding and displays a blue screen with debugging information the first time that you boot into it, and you receive a bug check code 7B, you left out a critical boot device. This boot device could include one of the following components: a disk drive, an Integrated Drive Electronics (IDE) controller, a primary IDE channel, a secondary IDE channel, a PCI bus, or another boot device.
The two most common causes are:
You have built the hardware configuration yourself without using the tools to query the target embedded system for its devices.
You used Ta.exe in the BIOS on the target device but it returned information that could not be found in the database. This means you could have missed a critical device in the configuration process. If you know the specific component or one that is compatible, such as a generic driver that is in the database, try adding one of these components into your configuration, and build the runtime again.
Try one of the following solutions:
Use Tap.exe instead of Ta.exe. Using Tap can be virtually foolproof and it will determine all devices necessary. You should only run Tap from Windows XP Pro. Tap will query the registry to identify the correct devices that Windows Setup determined would be best for that embedded device. Another downside to Tap is that it will pull in any devices that it used to install in that device but were subsequently removed, as well as pull in some software enumerated devices into your configuration that you may not want or need. If this happens, delete the unnecessary component from your configuration.
The second solution would be to examine device manager in a safe build successfully installed on the target embedded device. For instance, if you already have Windows XP or Windows 2000 installed, open device manager and identify the critical device listed in Device Manager that is missing from your configuration in Target Designer. Then locate the device with the same display name in Target Designer and add it to your configuration.
The embedded device skips the operating system selection menu
To resolve this problem, ensure that the Boot.ini file is located in the root of the active partition of the hard disk drive.
The embedded device reboots after you select an operating system
To resolve this problem, ensure that the Ntdetect.com file is located in the root of the active partition of the hard disk drive.
Ensure that you are using the correct core PC component (Standard PC, Advanced Configuration and Power Interface (ACPI) PC, and so on) in your configuration. If you are not sure which to choose, first try Standard PC.
A blue screen occurs, displaying Bugcheck 74 "BAD_SYSTEM_CONFIG_INFO", STOP: 0x00000074
This error is from the boot files and indicates that the existing boot files cannot load the kernel. This issue usually occurs when you are dual booting, Windows 2000 is installed, and you forget to update the Windows 2000 boot files with the Windows XP Service Pack 2 or later OS versions. The Windows XP boot files are backwards compatible with Windows 2000, but the Windows 2000 files cannot load the new kernels.
To resolve this problem, overwrite the NTLDR and Ntdetect.com files on drive C with the versions that are generated by the runtime. You will still be able to boot back to the safe build of Windows 2000.
CScript fails to run, registry entries of user profiles are deleted, and/or you cannot create desktop shortcuts
Inspect Target Device Settings, located in the Settings section of your configuration’s root component. Ensure that the drive letters (i.e. C:, D: ) are set to upper case instead of lower case. Some applications that inspect environment variables appear to be case sensitive.
First Boot Agent
First Boot Agent (FBA) is the Standard 2009 equivalent to Windows Setup. It updates the embedded runtime with required information that can only be determined dynamically, such as Plug and Play configuration, dynamic COM server registration, and so on.
Troubleshoot First Boot Agent errors yourself
FBA creates a log that you can use for troubleshooting. The log is located in the runtime at:
\%windir%\Fba\Fbalog.txt
Note that %windir% is usually the Windows folder.
The log lists every binary registered, protocols bound to the NIC, PnP devices found, and so on. Errors are also listed here and much more.
If you have the kernel debugger connected, all this information is also reported to the debugger, while FBA is running.
Exception errors during First Boot Agent
Two main causes of exception errors that occur during FBA are either:
You specified the wrong destination partition in Target Designer. To resolve this problem, specify the appropriate destination partition (see the "First Boot Agent reboots repeatedly" section for information about how to do this).
You ran out of memory during FBA. To resolve this problem, add more RAM to the target embedded device or add paging file support. You can disable the page file after FBA completes.
First Boot Agent (FBA) reboots repeatedly
If FBA restarts repeatedly, it is likely that you built the runtime for the wrong partition. Target Designer defaults to drive C. You need to change the destination partition on the target embedded device. Check the beginning of the Fbalog.txt file located at %windows%\Fba\Fbalog.txt. If you see errors that say "invalid path," this is the problem. You need to change the destination partition.
To change the destination partition:
In Target Designer, click Settings in the center pane.
Click Target Device Settings. Your boot drive is probably correctly set to drive C, but the Windows folder, Program Files folder, and Docs and Settings folder probably need to have their drive letter changed from C to the correct drive letter. The correct drive letter for these folders is indicated in Real Mode (for example, running MS-DOS, then launching FDISK to view drive letter assignments). The correct drive letter is not always the same drive letter that is assigned by Windows.
Note that if you have a complex arrangement of disk volumes and drive letter assignment, there is increased risk of failure during FBA due to the way drive letters are assigned to volumes during early boot phases. For best results, disconnect all volumes that are not relevant to FBA, before starting FBA.
What to check if FBA generates an exception error and you receive a virtual memory error during FBA
If this situation occurs, your runtime has loaded more services and registered more binary files than you have physical RAM for on the target embedded device. To resolve this problem:
Reduce the number of features in the runtime by disabling or deleting components from your configuration.
In Target Designer, add paging file support to the configuration (paging can be turned off after FBA completes).
Add more RAM to the target embedded device.
FBA Log Indicates "Invalid Path" Errors
If your FBA log has "Invalid Path" statements in it, this is because you built the runtime for the wrong destination partition for the target embedded device. In Target Designer, you need to inform the tools which partition the runtime will be located in. Otherwise, FBA may wind up trying to process and register binary files located on your Safe Build on a different partition and ultimately generate an exception error.
You receive exit code 0x4a020 from Snetcfg.exe in the FBA log
Exit code 0x4a020 in your FBA log indicates a harmless error. It means the network protocol was already installed, and FBA was trying to initialize it again.
Display device settings are different after FBA
Not all display devices support all the configurable settings in Target Designer. If a setting is not supported, FBA reverts to the lowest common denominator (e.g. setting: 640 x 480, 16-bit color).
To resolve this problem, reconfigure the display device settings in Target Designer to one that is supported by the particular device.
2>2>2>
|