One of the biggest changes between our Windows Embedded Standard 2009 (XP Embedded) and Windows Embedded Standard 2011 tools is the concept of image building. In Windows Embedded Standard 2009, components were selected in Target Designer and images assembled on the developer machine, after which it had to be transferred to the target device. In Windows Embedded Standard 2011, images are now built directly on the device using our Image Based Wizard (IBW) which can be configured “on the fly” using the wizard interface, or by using a preconfigured answer file. Each method has its own pros and cons, and while I won’t go into them, there certain applications and scenarios where it is still advantageous to be able to build images offline.
This article goes over the steps for assembling a Windows Embedded Standard 2011 image with the desired feature sets, using only the tools found on your developer machine. This method can save a lot of time and also utilize less memory on the target, if you have to build & deploy your images on a resource constrained devices. As an example, we found that the time taken for building and deploying a MaxBoot image on a target device with 2 Ghz machine w/ 1gig of ram can be cut from 30 minutes to 15 minutes. The time savings only get greater for target devices with more limited resources. Note: This does not include the time taken to offline-build the image as those times can vary significantly depending on the configuration of the developer machine.
Before I proceed further, please note that this method for building images is not a perfect substitute for building images using the IBW. Not all image configurations can be built using this method, and I’ll call out what developers should be aware of as we proceed through the steps.
While developing the toolset for Windows Embedded Standard 2011, we wanted to always allow the user fine-grained control over their image, and let the user be aware of how their image was being crafted. The main job of Image Configuration Editor (ICE), the main GUI tool for creating answer files, is to add packages and allow settings to be overridden with values you define. However, often you as the developer know you need a specific file, or a registry key needs to exist on your system, for your application to work properly. But which package contains the component that owns that resource?
In ICE’s Find feature, we’ve provided the ability to search for that information too. Within ICE, open the distribution share of your choice, then choose Find from Edit… Find Menu, or Alt + F, or the button on the toolbar. You may open an answer file before this to optionally allow searching just the packages in your answer file.
In the Find dialog, you’ll see a lot of checkboxes to refine what data you’re searching over. Searching over files and registry keys is a lot of data to search, and they are off by default. Click Search Registry Keys, and then search the Distribution Share for ScreenSaveActive. You’ll see a hit in System Control Panel, like this:
So you’ve spent a few hours, and you’ve made the perfect answer file for your device. Internet Explorer works, media files can be played, and you are very happy with how it turned out. However, after testing for just 5 minutes, you realize you can’t open and view certain picture formats, such as PNGs, on your device.
Do you really have to go back into Image Configuration Editor (ICE), re-create the answer file and then reinstall the image on your device?
Most applications that run on Windows 7, Windows Vista, and Windows XP will run on Windows Embedded Standard 2011. Templates now make it easy to ensure that all of your favorite and most important applications will run on Windows Embedded Standard 2011. These templates allow an application developer to indicate which components should be included in the build in order to support their application. Preview the first templates available today with CTP 2, and learn how to use them and create your own!
Comments Product Updates