newtelligence poweredRSS 2.0
# Thursday, May 21, 2009

Some recent events have led me to do some experimenting with Windows Embedded Standard, or WES. This is an upgraded version of Windows XP embedded. WES adds support for .Net 3.5 and Software Update Services, which are the top two new features that caught my eye. One of the nice things of WES over say, WinCE, is that you have a much richer development ecosystem to work with. Everything from the Full .Net Framework, WPF, WCF, to a huge library of open source tools and utilities, and not to mention driver support.

I’ve done some WinCE development in the past, and one of the best tools you can have, is the WinCE emulator. So when it came to WES, I wanted something where I could test stuff out without needing any hardware. The following walk illustrates what is needed to get a basic (and I do mean basic) WES image created and running in a Hyper-V vitalization environment. The following instructions were created were created from with help of the the Windows Embedded Standard (WES) help files, and a video tutorial by SJJ Embedded Micro Solutions.

Each WES image must include 7 Core Components.

  • Computer Componet/HAL
  • Shell Component
  • Language Component
  • NT Loader Component
  • File System and format components
  • Logon Component

I am going to select two macro components (macro components are components that are only made up of other components) in order to get those 7 core components. One of the macro components is provided for us, the other is one that we will create in order to get a HAL for a Hyper-V based VM.

  1. Installed Windows Embedded Standard Trial edition on a Windows XP Pro SP3 Virtual Machine in Hyper-V
  2. Navigate to C:\Program Files\Windows Embedded\utilities and run Tap.exe as an administrator. This creates a devices.pmq file in the same directory as the Tap program
  3. Open Component Designer and from the File menu, choose Import. Select the .pmq file you created in step 2, then click start.
  4. After the import is complete, click Save from the file menu to save the .sld file
  5. From the tools menu, choose component database manager
  6. On the database tab, click import and browse to your .sld file created in step 4 and then import.
  7. Close Component Designer and component database manager
  8. Open target designer and create a new target named HyperV_Test (or whatever you want to name it)
  9. Your new component should be at the bottom of the components tree on the left hand side of the IDE, double click it to add it to your target
  10. Under Software\Test & Development, double click the Runtime Quick Start Helper marco. This adds the explorer shell, FAT, NTFS and a few other essentials
  11. Go to the Configuration menu option and click check dependencies. This will add additional components, such as all those required by the Component we created from the .pmq file.
  12. From the tools menu, click Build. According to the video by SJJ, you must select release, but I think they were using the previous version of Target Designer. I only tried release. Also, you will want to specify the exact destination that you want the “image” to be created. Target Designer will delete everything in the destination folder. I decided to use a folder structure like /WESBuilds/HyperVTest/
  13. Copy the resulting image to a bootable partition. I created a new VHD file and attached it to another VM running XP. From within the running VM, I used Disk Management to partition, format and mark the partition as active. Finally I copied my image files over to the root of the new partition.
  14. Attach VHD to a new VM and boot. The first time an image is booted, the First Boot Agent (FBA) runs and completes the creation of the image.

So what did I end up with? Well, I had a WES image running in Hyper-V that used 210MB of disk space. This is a very, very basic image. The shell has an empty start menu, there is no logon, no command prompt, no networking, pretty much the bare minimum. So while this would be a good start for a final production build depending on requirements, its not very functional for development. I hope to be able to expand on this image and add the following:

  • Hyper-V extensions?
  • .Net Framework 3.5 SP1?
  • Networking and Firewall?

One question I have is, if you leave something out of an image, is there anyway to add it at a later time? For example, if you have no requirements for a web browser, and a media player initially, but need to add support in the future, what is the best way to implement?

Lot’s of potential with WES, and I’m looking forward to learning more about it.

Thursday, May 21, 2009 10:00:00 AM (GMT Daylight Time, UTC+01:00)  #    Comments [2] -
Technology | Virtualization
Friday, May 29, 2009 7:30:17 PM (GMT Daylight Time, UTC+01:00)
Hi Adam,

One thing to check out is whether framework is corrupted or not. If you go to install FW 3.5 SP and get error messages, then the base install from WES is corrupt.

Let me know and I'll let you know what you need to do to fix.

You won't necessarily see the corruption until you try to add the SP.

Lou
Louis M. Mezei
Friday, May 29, 2009 7:31:19 PM (GMT Daylight Time, UTC+01:00)
Hi Adam,

One thing to check out is whether framework is corrupted or not. If you go to install FW 3.5 SP and get error messages, then the base install from WES is corrupt.

Let me know and I'll let you know what you need to do to fix.

You won't necessarily see the corruption until you try to add the SP.

Lou
Comments are closed.
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Copyright 2010
Adam Salvo
Sign In
Statistics
Total Posts: 234
This Year: 13
This Month: 1
This Week: 0
Comments: 34
Themes
Pick a theme:
All Content 2010, Adam Salvo
DasBlog theme 'Business' created by Christoph De Baene (delarou)