your Windows® embedded community
by Lynda Allen
Windows Embedded Standard 7 (initially known as Windows Embedded Standard 2011) is the next generation platform in the product family that includes Windows XP Embedded and Windows Embedded Standard 2009. Windows Embedded Standard 7 delivers the power, familiarity and reliability of the Windows 7 operating system in a highly customizable and componentized form, enabling OEMs in retail, hospitality and other markets to focus on their core competencies and create product differentiation.
By default you get compatibility with Win32 and .NET applications and integration with Microsoft Enterprise Server and tools. Windows Embedded Standard 7 can be deployed to off-the-shelf hardware and drivers, and the platform supports x86 and x64.
Many new and interesting features in Windows 7 transfer to Windows Embedded Standard 7 and can be used in embedded scenarios for specialized devices. These include:
We also wanted to minimize the ramp-up time needed to learn our tools, so we re-used as much of the existing set of Windows tools, such as the Automated Installation Kit (AIK), as possible. Many IT professionals and system administrators are already familiar with these tools. For those scenarios that required embedded-specific functionality, we enhanced the Windows tools and provided additional ones.
The three main tools used for creating and maintaining OS images are Image Builder Wizard (IBW), Image Configuration Editor (ICE) and Deployment Image Servicing and Management (DISM).
Once you make all your selections the Image Build Engine processes the information and assembles the embedded OS image on the device.
Lets look at more in-depth information for some of these building blocks:
Embedded Core (eCore)
A collection of functionality needed for booting. It includes the kernel, boot-critical drivers (except for SCSI adaptor drivers which have a large footprint and can be added later), WinLogon, NetLogon, File systems (NTFS, UDF and so on), command shell, servicing stack, basic networking and RPC.
Embedded Core is language-neutral, so it can be booted without the footprint of the back-up language (English). It is ideal as a minimal platform for application and driver testing: If an application or driver can run on eCore, then it is virtually assured that critical dependencies for the application are satisfied, and it will run on a larger image.
Feature Sets and Packages
This is a new concept in Windows Embedded Standard 7. A feature set is a collection of components for a functional area, such as Explorer Shell. A feature set is composed of one or more packages that are selectable by a user. These packages also have dependency relationships with other packages, both in the feature set itself and packages in other feature sets.
Packages are signed by Microsoft, which means the contents cannot be changed. If the contents of a package, such as files and registry keys, are changed, then the package will fail to install because the system will not be able to verify the signature and will assume the package is corrupted. Settings for any package can be changed if the package exposes configurable settings through the ICE user interface. Signing packages enables Microsoft to service the features. After installation, if a resource is removed from a package, it will be brought back onto the device once the feature gets serviced.
There are about 60 feature sets in Windows Embedded Standard 7, comprising approximately 150 packages. Another new feature of the product is that feature packages can be installed on the image after it has been built on the device, which makes maintaining, updating and customizing an image in the field much easier because you do not need to re-deploy the image in order to make changes.
Driver Packages
Windows Embedded Standard 7 has all of the drivers that ship in Windows 7, grouped by their INF files into driver packages. In some cases (such as with printer drivers), where the size of the package is too big, we have broken out packages by manufacturers. We have about 400 driver packages in the platform. Driver packages are also language neutral.
Language Packages
Our goal is to eventually support about 40 languages and Language Interface Packs (LIPS), some at release to manufacturing (RTM) and some shortly after RTM. MUI resources have been packaged into language packs and images can be localized by adding one or more languages.
The first set of languages that will be shipped at RTM are:
Embedded Enabling Features
Embedded Enabling Features enable a number of scenarios that are important for specialized devices but may not be important for PCs. For most specialized devices, for example, it is desirable that they are locked down, in a known state and take only authorized changes. Windows Embedded Standard 7 offers three write filters, which were also present in previous generations of the platform:
One area in which we have made quite a number of enhancements is with creating custom experiences. Generally, it is not desirable that specialized devices display dialog boxes or system messages that require user input, so we have created a more extensive infrastructure for blocking these through the Dialog Filter and Message Box Auto Reply features. We are also enabling OEMs to better develop unbranded startup screens and have custom logon desktop background. We have also allowed a custom shell to be included without requiring Explorer Shell, providing a more seamless custom experience with a smaller footprint.
It is possible to customize an image after it has been built on the device, such as adding additional software applications, language packs or drivers, and then generalize a master image using Sysprep so it can be deployed to multiple machines. Sysprep removes system-specific data from the image. ImageX or DISM can then be used to capture the image to a .wim file for deployment. Diskpart can be used to create volumes on the device, BCDBoot to create the boot manager, and BCDEdit used to manage multiple operating systems.
There are a number of deployment options available with Windows Embedded Standard 7:
In Windows Embedded Standard 7 we have enabled a number of servicing scenarios. OEMs can still have full control of the servicing of the device: They can download updates to their distribution share, rebuild the image and redeploy it, or directly apply the update to the image using DISM to an image offline or while it is running. However, they may also want to allow their end user to do automatic updating of the image. In this case, they can include Windows Update in their image, configuring it to allow applicable embedded updates to be downloaded to the device. Note that Windows desktop updates are not applicable to embedded images -- only embedded update packages can be applied.
Servicing through WSUS and System Center Configuration Manager is still enabled by Windows Embedded Standard 7. There is better integration with Active Directory, Group Policy and Microsoft management tools like System Center Operations Manager and System Center Configuration Manager, and we are looking at integrating with more third-party servicing and management tools.
Copyright (c) 2010 Microsoft Corp. All rights reserved. Reproduced by WindowsForDevices.com with permission.
About the author:Lynda Allen has been a member of Microsoft's Windows Embedded Test team for more than five years, and originally hails from South Africa.