Adding Embedded Enabling Features to POSReady 7

Feb. 24, 2012
Microsoft's Windows Embedded Standard 7 variant, POSReady 7, is an ideal base for developing point-of-sale applications. Sometimes it can be tricky to enable some features like HORM (Hibernate Once Resume Many) unless you know how.

Microsoft OSs are commonly found on general purpose PCs and servers. Newer versions come out every couple of years and the older ones are retired. OEMs wanting to use Microsoft Windows on dedicated function systems that that aren't used as general purpose PCs or servers can use Microsoft's Windows Embedded products. These OSs are available for 15 years from their introduction and cost less than their non-embedded counterparts. These "embedded" OSs also have features unavailable on the non-embedded versions. These added functions are known as Embedded Enabling Features (EEFs). The two most popular Embedded Enabling Features are Write Filtering and HORM (Hibernate Once Resume Many).

On a running system, the OS is almost constantly writing information to the hard drive and a power failure can cause a write-in-progress to corrupt a file that's vital to the OS. Imagine an ATM or a juke box or a Digital Video recorder that are installed in places where the power might accidentally or unwittingly be turned off. The system would either have to have a technician come out and repair it or it might even have to be returned to the manufacturer for repair. Enhanced Write Filtering (EWF) is an Embedded Enabling Feature in POSReady 7 that uses a RAM overlay as a substitute for the boot volume. With EWF turned on, the boot volume becomes read-only and never changes. At power down, any changes recorded in the RAM overlay are lost and the boot volume is the same as it was when it was last booted.

With EWF enabled, HORM (Hibernate Once Resume Many) can be enabled. HORM functions like the hibernate function on a laptop. When a laptop is put into hibernation, it creates a snapshot if what's running into a hiberfile before shutting down. Then, at boot-up the hiberfile is used to bypass the typically lengthy boot process. Since the EWF volume never changes, it can have a ready-made hiberfile allowing it to boot quickly, and unlike home systems that boot slower and slower over time, the boot time never changes. Related to EWF, there's another EEF that's called File Based Write Filtering (FBWF) that can assign write protection to selected files and folders. It works much like EWF but does not allow HORM.

Embedded Enabling Features such as Enhanced Write Filtering (EWF), File Based Write Filtering (FBWF) and HORM (Hibernate Once Resume Many) are compelling reasons for OEMs to select Microsoft Embedded Operating Systems. These features are easily included in Windows Embedded Standard 7 (WES7) by using the WES7 design toolkit. POSReady 7, however, has no toolkit and an image is created using a bootable disk included as part of the OPK (OEM Pre-installation Kit). This paper describes the process through which one can add these features that, although available, are not installed in POSReady 7 by default.

The DVD that one boots from to install POSReady 7 boots by virtue of Windows Pre-installation Environment (WinPE). WinPE is the Windows equivalent to the bootable DOS disk (for those of us old enough to remember using DOS) launching a minimal operating system environment that allows one to do a limited number of administrative tasks. On the POSReady 7 install disk, WinPE loads and immediately runs the POSReady 7 installation program. Adding features to POSReady 7 is done by booting the installation disk on a system with POSReady 7 already installed and launching WinPE to add the desired packages using Microsoft's Deployment Image Servicing and Management (DISM) tool.

Adding the Embedded Enabling Feature packages to the Image

In the steps listed below, DISM is used to install EWF and HORM as well as Dialog Filter and Keyboard Filter, two popular Embedded Enabling Features (EEFs) available in POSReady 7.

Step 1 - If you haven't done so already, install POSReady 7 on the target system using the bootable installation disk.

Step 2 - Reboot the system again but boot directly into the POSReady 7 installation DVD. When the system boots, press any key on the keyboard when "Press any key to boot from CD or DVD" appears. If the option of booting into the DVD is not presented before POSReady 7 launches, check the BIOS boot order to make sure the DVD is listed before the volume with the POSReady 7 image in the boot order.

Step 3 - Let the system boot and complete the launch of the installation wizard from the DVD to the first dialog box pictured below. Instead of answering the wizard questions, launch the WinPE console by selecting Shift+F10.

Step 4 - Use DiskPart to identify the drive letter associated with the volume where you installed POSReady 7 and the drive letter of the installation DVD. Below is what appears in the console box and with what you should enter in red (followed by pressing the Enter key). After identifying the drive and volume letters assignments, exit DiskPart. In the example below, the POSReady 7 image is on a 40GB hard drive with a 100MB system reserve volume with the DVD and a 2GB USB thumb drive attached.

Step 5 - Steps 6, 7 and 8 guide you through the process of adding the EEF packages one after another. If you want to do all of them with less typing, you can copy the text from the box below into Notepad and save it as PR7EEFs.bat (make sure when saving to change "file type" from "Text Documents ("*.txt" to "All Files"). If you are viewing this from a printed format, the text will be available at www.AvnetMsSolutions.com. To execute the batch file, switch to the thumb drive and then enter the name of the batch file followed by a space before the drive letters of the POSReady 7 volume, the installation DVD, the reserve volume and the USB thumb drive, all separated with spaces. Using the volume examples from above, where "F" is the thumb drive, "D" is the installed POSReady image volume, "C" is the System Reserve volume and "E" is the install DVD looks like this:

Note that there are pauses where you can see the prompts that verify the commands were properly executed, where you should see this verification message:

The operation completed successfully.
Press any key after each pause to continue.

Reboot the system into the POSReady 7 image and it will update the OS using the cab files inserted using DISM.

Step 6 - (alternative to step 5) - Using the volume #s associated with the installation DVD and the existing POSReady 7 image (Volumes 0 and 1 in the example above) , exit DiskPart and switch to the DVD drive (the example below uses the values found in the previous example, use the values from your results) and select the DS folder, which is the Distribution Share where all the OS option packages are stored.

Step 7 - (alternative to step 5) Use the following Deployment Image Servicing and Management (DISM) commands to add the Enhanced Write Filter, EWFWMI Provider and Registry Filter packages to the existing POSReady 7 image. After the end of each DISM command, you should see this verification message: The operation completed successfully.

Step 8 - (alternative to step 5) Copy the HORM data file to the boot directory of the System Reserve volume. (Note that although you can copy to the boot directory, you can't view it or its contents using the dir command from the command line.)

Reboot the system into the POSReady 7 image and it will update the OS using the cab files inserted using DISM.

Installing the Graphical Write Filter Management Tools

Once added, EWF and HORM can be managed via Command Line in administrator mode. The commands can be found on MSDN at http://msdn.microsoft.com/en-US/library/ms940853(v=WinEmbedded.5).aspx (or just Bing "EWF Manager Commands"). In September 2011, Microsoft released a graphical based management tool. The Enhanced Write Filtering Management Tool can be downloaded from ECE (Microsoft's "Mobile and Embedded Communications Extranet"). There are 32 and 64 bit versions that install on a POSReady 7 installation via an executable msi file.

Within the same download, there are 32 and 64 bit versions of a similar management tool for File Based Write Filtering (FBWF). The download includes a Readme file with descriptions and installation instructions. OEMs are granted access to ECE when they enter into an OEM Customer License Agreement (CLA) with Microsoft through an authorized Microsoft Embedded distributor. *Note that HORM is available with EWF and not with FBWF

Enabling Hibernation for HORM

HORM requires that hibernation be turned on (by default it is off). Boot into your POSReady 7 image. Select the options button on the right side of the "Shut Down" button next to the "Start" button. Note that "Hibernate" is not listed as an option.

Select Start > All Programs > Accessories, right-click on "Command Prompt" and select "Run as administrator". On a new POSReady install, by default, you'll get a User Account Control pop-up; select "Yes" to allow changes.

At the Command Prompt, enter the following command turn on hibernation (required for HORM):

Type the following command to set the Boot Configuration Data (BCD) BootStatusPolicy to ignore all boot failures (also required for HORM):

Now select the options button on the right side of the "Shut Down" button and note that "Hibernate" is listed.

Sponsored Recommendations

What are the Important Considerations when Assessing Cobot Safety?

April 16, 2024
A review of the requirements of ISO/TS 15066 and how they fit in with ISO 10218-1 and 10218-2 a consideration the complexities of collaboration.

Wire & Cable Cutting Digi-Spool® Service

April 16, 2024
Explore DigiKey’s Digi-Spool® professional cutting service for efficient and precise wire and cable management. Custom-cut to your exact specifications for a variety of cable ...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!