inset
Release of XPe Shows Value of OS Components
Jan. 7, 2002

The release of Windows XP Embedded (XPe), which consists of a set of developer tools and a granular database of Windows XP Professional operating system (OS) components, makes it possible to generate custom embedded systems based on Microsoft’s desktop OS. This new version of Windows Embedded also provides a glimpse into how Microsoft might use the component database in future versions of its Windows OS.

What Is Windows XPe?

XPe is the successor to Windows NT Embedded 4.0; there is no Windows Embedded version based on Windows 2000. The Windows Embedded Studio tools that come bundled with XPe allow developers to create embedded systems based on the binary files of Windows XP Professional. Microsoft defines an embedded system as any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application. Bally Gaming, Compaq, NCR, ViewSonic, Wincor-Nixdorf, and Wyse, among others, are already developing embedded devices, such as ATMs, point-of-sale retail devices, slot machines, and Windows terminals, based on XPe. A version for embedded server applications will be available after Microsoft releases Windows .NET Server in 2002. (For details on Microsoft’s embedded OS strategy and comparisons between XPe and Windows CE, see ".NET Puts Focus on Embedded Strategy" on page 6 of the July 2001 Update.)

Making Embedded Development Easier

Typically, creating an embedded device requires a team of hardware and software specialists working with low-level programming tools to handcraft an OS and application for specialized hardware. Even the creation of an embedded device based on Microsoft’s other embedded OS, Windows CE, requires substantial expertise.

XPe reduces the barriers to entry for embedded developers, allowing them to use existing hardware and device drivers and create an embedded version of Windows XP Professional based on more than 10,000 clearly defined units of functionality called components. Windows Embedded Studio enables a level of customization that goes far beyond the capabilities of the retail version of Windows or NT Embedded 4. It allows developers to create an embedded OS image with only the specific features and functionality of Windows XP Professional that their applications require, and the custom embedded image can have a significantly smaller memory footprint on both RAM and disk than the retail product—as small as 4MB. For example, to create a kiosk, a developer would select the hardware for the kiosk and use Target Analyzer to determine which OS components are needed by the hardware. They would then develop the application and use Component Designer to convert the application into components. Including their custom application components along with the necessary OS components, they would then use Target Designer to generate an OS run-time image for their kiosk. (For more information on the tools and building a run-time embedded image, see "Second Windows XP Embedded Beta Released" on page 9 of the Oct. 2001 Update.)

XPe will open embedded development to a wider audience of developers and organizations. For example, many organizations tried in the past to create new applications, such as product information kiosks, by adapting retail versions of Windows. Unfortunately, this solution was cumbersome and did not always result in an optimum set of features, the smallest OS footprint, or a stable application. Now organizations can easily build a reliable embedded solution using XPe.

Microsoft has not endorsed XPe by using it in any of its own products, such as the Xbox or the Tablet PC, and other teams continue to use Windows CE for embedded systems. XPe’s real importance for Microsoft is in the database of OS components developed to implement XPe.

The Future of OS Components

Microsoft Platforms Group Vice President Jim Allchin says components will play a larger role in the development and distribution of all versions of Windows in the future. To emphasize the importance of components, he moved the embedded Windows team into the Windows base team (the same team responsible for the core features of the Windows OS). In creating XPe, the embedded team analyzed and modularized the Windows code base to shorten the turnaround time for embedded systems and to enhance the reliability of future fixes and patches.

Working with the actual developers of the components, the embedded Windows team created a database of component information by determining the appropriate boundary for the components; that is, they figured out what level of OS functionality was included in each component, working with the developers of each OS feature to discover which files made up each component and which registry entries were needed or created by the component. Finally—and most important—they identified the interdependencies between all of the components of Windows XP. For example, they determined that if a developer wants to include component "a" in an embedded image, then he must also include components "b," "d," and "x," because it requires those components in order to run.

When a problem such as a security vulnerability is discovered in a component, Microsoft could use the component information database to identify all impacted components and create a complete list of features that must be tested before a hotfix is released.

Using the database of component information, Microsoft could also create more granular setup routines for all versions of Windows, giving users greater control over which features are installed and how much space the installation requires. For example, Microsoft could make it much easier for an administrator to fine tune the installation and configuration of a Windows server to support a dedicated application such as SQL Server, and not install unnecessary applications, such as Solitaire, or even services such as Internet Information Server. Finally, by keeping the component information up to date and generating the component data for any new feature, Microsoft should be able to ship future embedded versions of Windows simultaneously with the associated retail version.

Licensing and Availability

The licensing process for XPe involves two steps: purchasing a license for XPe itself (which contains Windows Embedded Studio—the development tools necessary to build an image) and purchasing a run-time license for each device running XPe. A serialized product ID (PID) number and "Certificate of Authenticity" sticker are included with each XPe run-time license, and a valid PID number is necessary to generate an OS image for distribution. (XPe includes a tool to assist in manufacturing images in production runs.)

XPe is available in the United States from authorized distributors, including Annasoft Systems, Arrow Electronics, Avnet Applied Computing, Bsquare, and VenturCom.

Windows .NET Server Embedded, like Windows .NET Server, is still in development. It is scheduled for release within 90 days of the general availability of Windows .NET Server.

Resources

For more information on XPe, see www.microsoft.com/windows/embedded/xp/default.asp.

For an evaluation version of Windows Embedded Studio, see www.microsoft.com/windows/Embedded/xp/evaluation/trial/evalkit.asp.