Microsoft Windows Embedded Standard 2009 Developer Resource Kit Componentizing Windows xp professional for embedded systems developers

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
The example companies, organizations, products, people and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred.
© 2006-2009 Microsoft Corporation. All rights reserved.
Microsoft, Active Directory, BizTalk, MSDN, Visual SourceSafe, Visual Basic, Visual C#, Visual Studio, Windows, Windows NT and Windows XP are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.
Chapter 1. Using this Document 1
Target audience 1
Embedded operating system version 3
About the author 3
Well deserved credit 3
Chapter 2. Overview and Evaluation 4
Introduction 4
Servicing multiple versions of Windows XP Embedded 6
Evaluating Windows Embedded Standard 2009 (Standard 2009) 7
On-line tutorial 7
Additional tutorials 7
Case studies 7
Supported target device processors 7
Microsoft Support Lifecycle considerations 8
Licensing considerations 8
Microsoft support 8
Security Updates 8
Product comparison 8
Comparison with Windows XP Professional 8
Comparison with Windows Embedded POSReady 8
Comparison with Windows NT Embedded 9
Chapter 3. Development Guide 10
Introduction 10
Installing Standard 2009 10
How to obtain 10
Installing 10
Problems installing Standard 2009 10
How do I obtain and configure Licensing Runtime PIDs? 11
How to upgrade your database to the licensed version 11
Developing your Standard 2009 Device 13
Introduction 13
Development Master Checklist 14
Quality Assurance Checklist 18
Introduction to the Windows Embedded Standard 2009 Component Manifest 18
Development Environment Audit 21
Functional Audit 22
23
Serviceability Audit 24
Security Audit 26
API Audit 27
Reliability Audit 27
Image Footprint Reduction 28
Testing and Deployment considerations 30
Configuring the User Interface (shell) 30
Different Shells for Different Users 30
Multiple user accounts 30
Enabling the context-sensitive Help 31
Removing the Windows splash screen after the Power On Self Test (POST) 31
How to replace the boot screen with one of your own. 31
How to disable "Windows is starting up" and "Windows is shutting down" type messages 31
How to Customize the Welcome Screen behavior 31
Disabling the "Turn Off Computer" button on the Logon screen 32
Removing System and Application popups and Balloon tips 32
Adding "Manage" functionality when building a configuration 32
Enabling the classic Start menu 32
Automatically start applications or a custom shell upon startup 32
Removing the "Windows XP Embedded Evaluation" text in the shell 33
How to enable context menus for "right-click" functionality in the runtime 33
Changing the system font 33
Disabling the Ctrl+Alt+Del keyboard combination 33
Avoiding the Ctrl+Alt+Del splash screen 33
Creating shortcut resources 34
Centering the search pane in an Explorer file browser window 34
How to hide the shell task bar 34
Managing User Profiles and user settings 34
How to hide the mouse pointer 34
Configuring Internet Explorer as a full screen shell 35
Configuring Components 35
Automatic Logon 35
Bluetooth 35
.NET Framework 1.1 35
.NET Framework 2.0 35
.NET Framework 3.0 SP1 Setup 35
.NET Framework 3.5 Setup 36
File System 36
IIS 36
Internet Protocol Version 6 (IPV6) 36
MSDTC and Cloning 36
Network Command Shell 38
NTFS encrypted file system support 38
Security Template components 38
Sysprep (Windows System Preparation) 38
System Center Configuration Manager (SCCM) 38
Windows Firewall/Internet Connection Sharing (ICS) 38
Fine tuning 38
Hot plugging and hot swapping 38
How to identify the computer name 39
How to identify IP settings 39
Licensing issues when you install Office on a runtime 39
Applying locale settings to a run-time image 39
Adding Japanese, Korean, or Chinese IME components 39
Using Component Designer to create a Service Resource for a component 40
Moving Event Viewer logs to an unprotected volume 40
Using Standard 2009 to boot to a USB device 40
Runtimes and Antivirus Software 40
Netset tool 41
How to set the Time Zone offline in Target Designer 41
Where to turn on paging file support 42
How to move or rename your paging file in your runtime 42
How to clear the paging file 43
Make your runtime behave as if it is installed on drive C even though it is installed on another partition 43
Initiating System Shutdown 44
Initiating System Hibernate 44
Bootvis system boot performance analysis tool 45
First Boot Agent 45
Duplicating images to many Compact Flash and Flash Module devices in a production environment 45
Where to find a list of Microsoft Certified Hardware products 45
Does Microsoft support installation of Microsoft SQL Server into my Standard 2009 runtime image? 45
Using SQL Server with Standard 2009 45
How can I edit the Registry of my XP Embedded image, before FBA has run? 46
Where can I find useful utility programs for use when developing a Standard 2009 Image? 46
How to apply a static IP address to the runtime 47
Multilingual User Interface (MUI) 47
More information about supported Languages and Locales 48
Using Development Tools 48
Target Analyzer 48
Target Designer 50
Component Designer 51
Creating driver components 53
Installing third party driver and applications after FBA completes 55
Installing a third party driver via rundll32 56
Chapter 4. Embedded Enabling Features 57
Introduction 57
BootPrep 57
Using BootPrep to prepare a storage device 57
USB Boot 58
Device Update Agent 59
Setting a registry key with Device Update Agent 59
How to judge whether a previous DUA command was successful or failed 60
The Enhanced Write Filter 61
Comparison between RAM and Disk-based Enhanced Write Filter (EWF) 61
Deployment considerations 61
The Enhanced Write Filter and Hibernation 61
EWF Applications 61
EWF Functional Modes; defined 62
Deployment considerations 64
Runtime maintenance considerations 64
Installation and Implementation 65
Setup procedure for EWF-DISK or EWF-RAM 65
Setup procedure for EWF-RAM-REG 71
Preparing storage media for EWF 73
An alternative to RAM EWF using SDI 77
File Based Write Filter (FBWF) 77
Registry Filter 77
Developing an image bootable from a CDROM 80
Background 80
Booting from an El Torito formatted CDROM 80
Booting from an SDI file 105
Remote Boot 107
Remote boot applications 107
Accessing hard disk volumes on a Remote Boot client 108
Using Remote Boot as a means of servicing devices that are booted by using Compact Flash 108
Maximizing performance of Remote Boot clients 108
RAM boot and WinPE 109
RAM boot using SDI 109
How to stop a computer or laptop from booting from the network (PXE) and to load normally 109
Remote Boot Services health checking 109
Use the kernel debugger on the target system for troubleshooting Remote Boot problems 109
Diagnostics messages 109
System Cloning Tool / Fbreseal 110
System Center Configuration Manager (SCCM) 110
Chapter 5. Troubleshooting 112
Introduction 112
Help from the embedded community 112
Design tools 113
Target Designer Development 113
Component development 113
Embedded image deployment 114
Licensing 114
Common issues 114
Boot Time Errors 125
First Boot Agent 129
Embedded Enabling Features (EEF) 130
Enhanced Write Filter 130
Use EWF Manager to monitor and troubleshoot EWF 136
El Torito 136
Device Update Agent 137
SDI 138
System Cloning Tool and FBRESEAL 139
System Cloning Tool modifies the wrong disk volume 139
Cryptographic Service problems 139
Component troubleshooting 139
What to do if you are having trouble finding components 140
Application Compatibility Core 140
Application Verifier 140
ATI Rage Mobility 140
Automatic Logon 140
Background Intelligent Transfer Service 141
Client for Microsoft Networks 141
Client Services for NetWare 141
CMD – Windows Command Processor 141
Command Shell 141
Explorer Shell 142
Device Manager 142
Disk Management Services 143
Display Control Panel 143
DOS Windows on Windows Support 144
Error Reporting 144
Event Logging 144
Hardware Abstraction Layer 144
Help and Support Services 145
Home Gateway 145
HyperTerminal 145
Images and Media 145
IMAPI – CD Burning 145
Internet Explorer Kiosk Mode 146
IME Prototype 146
Internet Explorer 146
Map Network Drives/Network Places Wizard 146
Message Queueing (MSMQ) 147
Microsoft Management Console (MMC) 147
MIDI 147
Minlogon 147
.NET Framework 147
Net.exe Utility 149
NetBIOS Driver 149
NetMeeting 149
Network Configuration 150
Oledb Provider for Internet Publishing 150
Performance Monitor 150
Remote Access (RAS) 151
Remote Assistance Channel 151
Remote Registry Service 151
Search Assistant User Interface 152
Serial Input Support 152
Security Shell Extension 152
Software Installation Group Policy MMC Snap-in 152
TCP/IP Netstat Command 152
Telnet Server 152
Terminal Services 153
Terminal Services Web Control Extension 153
Volume Shadow Copy service 153
Windows Movie Maker 153
Windows Picture and Fax Viewer 153
Windows Security Configuration Editor Client Engine 153
Windows XP Explorer User Interface 154
Multilingual User Interface Pack 155
Miscellaneous 156
Boot time performance 157
Tips for optimizing boot performance 157
A walk-through of the windows boot process 158
EWF and boot optimization 159
Debugging 159
Your application or driver does not work in Standard 2009 but works in XP Professional 159
System memory dump files are not saved when you have EWF enabled on your boot drive 160
Post mortem debugging does not work when using the .NET Framework 2.0 component 160
User environment debugging logging 160
General XP Debugging Tips, Tools and Techniques 161
Kernel mode debugging overview 161
Chapter 6. Servicing 163
Introduction 163
Servicing Methods 163
Objective 163
Image ownership considerations 163
Device deployment and servicing options 165
Flowchart 167
Servicing strategy 169
Delivery methods 174
Deploying Microsoft security updates 175
Where to get updates 175
Structure of the Security Update DVD images 175
Security updates strategy 175
Back up your Component Database 179
Obtaining, Installing and Managing Component Updates 180
Microsoft support policy 180
Licensing considerations 180
Deployment techniques 180
Device Update Agent (DUA) 181
Using custom batch files, scripts or programs 183
Systems Management Server (SMS) 184
System Center Configuration Manager (SCCM) 184
System Center Operations Manager 2007 SP1 (SCOM) 185
Windows System Update Server Version 2.0 (WSUS) 185
Remote Procedure Calls (RPC) 185
Remote management 187
Windows Preinstallation Environment deployment alternative 189
Creating a derivative Windows Preinstallation Environment CD 189
Using Windows Deployment Server to deploy Standard 2009 runtime images 190
Security considerations 191
Assessing your security risk 191
Mitigating your security risks 192
Building in Windows Security 192
Securing the network 193
Securing physical media by using Enhanced Write Filter 194
Protection from computer viruses 194
How to Install a Root Certificate into the Local Computer Trusted Root Certification Authorities store on Windows XP Embedded via a Registry Update 194
Servicing checklist 198
Using Image Difference Engine (ImageDiff) 198
Common servicing questions 199
When replacing critical system binaries do I need to disable Windows File Protection (WFP) first? 199
How can I identify Operating System version, Service Pack level, and specific XP Embedded platform? 200
A Script for reporting OS information 202
Can I run a single Standard 2009 target image on multiple hardware devices? 204
What is the relationship between XP Pro Security Update releases and Standard 2009 Security Update releases? 204
Can I use Windows XP desktop Updates (hot fixes) in a deployed Standard 2009 runtime? 205
How do I identify the hot fixes installed in my runtime? 206
How do I obtain and configure Licensing Runtime PIDs? 206
Servicing-related Microsoft Corporation on-line resources 206
Third party tools and resources 208
Glossary 208
ADDENDA 209
Addenda 1. Table of built-in Windows XP utilities 209
Addenda 2. General Microsoft resources 213
Addenda 3. Third-party resources 213
Addenda 4. Useful keyboard shortcuts 215
Addenda 5. Windows Embedded Standard 2009 Troubleshooter 216