Round 1, fight! Windows Phone 7 emulator x VmWare

Hi Folks,

I have been using VMware Server (free edition under here) to run some 64bit machines under my Windows 7…

So basically my idea is to have some “heavy” stuff defined on a 64 bit machine like database servers, iis and so on… This has been working quite nicely until I run the Windows Phone 7 emulator…. Or actually even if a I run Virtual PC XP Mode…

Basically VMWare crashes all running virtual machines as soon as any other process using Hardware virtualization starts… The error is something like:
VMware Server unrecoverable error: (vcpu-1)VCPU 1 RunVM failed

Look the solution that VMWare recommends as resolution here:

“This issue can occur when you are running VMware Workstation and another organization’s virtualization software at the same time. Running Workstation and another organization’s virtualization software simultaneously on the same system is not supported.

VMware recommends uninstalling the other virtualization software to allow Workstation to operate without errors. “

 

OMFG, I would love to say this to my customers: Hey, our software is not running because competitor’s software is breaking it. The solution is to remove the competitor software! Hahaha! Life is not so easy! Mainly because in my case I’m talking about an Emulator which visual studio needs to connect and so on… Not so easy…

So I have been searching all around and I(not really, read on another blog) that it is all about the usage of Hardware virtualization… On Virtual PC you can just disable (or enable which is the best…) it very easy:

But what about the Windows Phone emulator??

Well, what I’m going to show next was the first solution that I found out by myself doing some trials to workaround this… At the moment I have the lattest Windows Phone Tools running(7.1 beta), so All paths will be referring to it… Basically I fould out that there are 2 files with extension “.decfg” on the XDE Folder:

 

I modified the first one, disabling the HW acceleration (EnableHWAssist):
<?xml version=”1.0″ encoding=”utf-8″?>
<WindowsPhoneEmulator xmlns=”http://schemas.microsoft.com/WindowsPhoneEmulator/2009/08/Configuration”&gt;
<EmulatorSettings>
<ConsoleWindow Reconfigurable=”static” Type=”bool”>false</ConsoleWindow>
<ZoomFactor Reconfigurable=”dynamic” Type=”dword”>66</ZoomFactor>
<Displacement>
<X Reconfigurable=”dynamic” Type=”int”>0</X>
<Y Reconfigurable=”dynamic” Type=”int”>0</Y>
</Displacement>
</EmulatorSettings>
<Board>
<CoreSystem>
<EnableHWAssist Reconfigurable=”static” Type=”bool”>false</EnableHWAssist>
<VTT>
<GuestQPF Reconfigurable=”static” Type=”dword”>10000000</GuestQPF>
</VTT>
</CoreSystem>
<Peripherals>
<VBUS>
<GPU>
<GPUEnabled Type=”bool”>true</GPUEnabled>
</GPU>
<Orientation>
<Enabled Type=”bool”>true</Enabled>
</Orientation>
</VBUS>
<PCMCIA>
<VMNetEnabled Reconfigurable=”static” Type=”bool”>false</VMNetEnabled>
</PCMCIA>
</Peripherals>
</Board>
</WindowsPhoneEmulator>

 

Next step after doing this is to create the new command line which will run the XDE. The one that I found out is:
XDE.EXE “C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Emulation\Images\WM70C1.en-US.bin” /decfg “C:\Program Files (x86)\Microsoft XDE\1.0\config_board0.decfg” /VMID {08F58FF1-69CE-4427-B8E7-D16FEEBD3791}

Where:

  • “C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Emulation\Images\WM70C1.en-US.bin” is the Image to load up
  • “C:\Program Files (x86)\Microsoft XDE\1.0\config_board0.decfg” is the modified setting file
  • {08F58FF1-69CE-4427-B8E7-D16FEEBD3791} is the ID of the machine…. Don’t ask me why?! I found out that there are two ID’s on my machine, under the “C:\ProgramData\Microsoft\XDE” folder.

I tried with both but it just allowed me to debug from Visual Studio when I renamed this first one…. Then it runned properly(made a full boot). Of course it runs slowler than normal, but at least my VM’s are still running! J

So basically what I’m going to do is just run this command line before I run Visual Studio. Then it will not launch the “default” emulator that kills all my vmware machines. Actually I tried also with VirtualBOX and same issue happened…

For now that’s it. I made this post in a hurry… Hope that it helps someone else that has this issues..

Posted on 13.06.2011, in Fail. Bookmark the permalink. 11 Comments.

  1. Where can i find the vmware id (vmid) ? It is not to find in the folder mentioned above

    • Hi Soren,
      I get the vmID’s from the folder “C:\ProgramData\Microsoft\XDE”
      They change on every new version of the SDK…
      It’s painfull but the only way I got it working without break my vmware Vm’s down.

      Pedro

  2. I am trying to do this in VMWare Fusion. There was not an option to turn off hardware-assisted virtualization, however I was able to get the emulator running with the config files trick. The emulator ran painfully slow though. Web pages did not load properly either. Instead all I get is a blank white screen, though it goes through all the steps and seems to be downloading something.

    Any ideas on where to go from here?

    • Hi Ben… From my side I also see that the emulator is running slower than normal but it is still usable. What happens on my machine is that I have more than one wp7 emulators. You should have as well… Maybe you can try with the other ones?
      Good luck! This issue is a real pain!

  3. I have v7.0 and v7.1 folders. The v7.1 folder is the only one with the bin image in it. Any ideas on that?

    • In that sense i’m running out of ideas. Maybe something related to the machine config? My machine has one quadcore intel i7… I am using windows 7 64 bit… And vmware server….

  4. My programdata\microsoft\XDE directory is empty… What should I do?

    • Should be things in there, I just did a clean install and found 2 files.

      Check that you are showing all files and that nothing is hidden.

      • Fernando Linhares

        Nothing hidden, but I’ve found out that my virtual machine was with 1 processor and 1GB of mem. I’ve changed to 2 processors and 4GB of mem and I’ve got the emultor running. Thanks.

  5. genius 🙂

    do have the issue testing IE however with it not displaying anything, hopefully its just a UI layer that can’t be displayed properly and that the communication mechanism is working without probs

Leave a reply to Fernando Linhares Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.