Running a virtual Windows Embedded Compact 7 image into a Virtual machine

While working on some Windows Embedded Compact 7 labs setup, I tried to do something that can be really useful for trainers and eventually for developers.

As you might be aware, the ARM emulator has been replaced by a Virtual PC BSP in Compact 7, which means you can test Compact 7 in a virtual environment. In order to have a single virtual machine containing both the dev environment and a virtual platform, I have successfully tested the following configuration:

  • I set up a Windows 7 Virtual Machine running on an Hyper-V server.
  • On the virtual machine, I installed the following:
    • VS 2008 and all Compact 7 tools (with x86 CPU support)
    • Virtual PC 2007 (do not try with Windows VPC as this new version of VPC requires virtualization hardware that the virtual platform doesn’t support… basically you cannot run Windows VPC in a Virtual Machine, but you can run Virtual PC 2007 in a virtual machine… and there is no trick for this… it just works!
  • In VPC 2007 I set up a new VM using the VHD located in C:\WINCE700\platform\VirtualPC\VM\hd0_sample.vhd
  • I created a new OS Design, ensuring the VPC2007 keyboard driver was selected:

SelectVPC2007Keyboard

  • I started the VPC2007 newly created VM, it automatically booted into eboot, started broadcasting its bootme messages.

  • Then from Platform Builder, I just hit “Connect” and the image deployed on the VPC2007 VM and booted.

  • et voila!

    VPC2007 in a Virtual Machine