Unable to Launch Windows Phone Emulator

2019-02-02 05:43发布

问题:

I am trying to run unit tests on our CI server. When i run the following command it tries to launch emulator but fails with the following message

vstest.console.exe myxapfile.xap

Error Message

The Windows Phone Emulator wasn't able to ensure the virtual machine was running:

Something happened while starting a virtual machine: 'Emulator WVGA 512MB.ttmaltiparmak' failed to start. (Virtual machine ID 1350ADCE-CC35-4615-BFD5-250179F789EE)

The Virtual Machine Management Service failed to start the virtual machine 'Emulator WVGA
512MB.ttmaltiparmak' because one of the Hyper-V components is not running (Virtual machine ID
1350ADCE-CC35-4615-BFD5-250179F789EE).

My system seems to support following requirements (But it is a virtual machine is it a problem?)

  • 64 bit windows 8
  • SLAT Support
  • 4 GB ram
  • Hyper-V is on

Further trials and results:

I tried removing and re-adding hyper-v through add-remove programs and now Hyper-V Platform option is disabled and i can not activate it :S Gilson Banin says that hyper-v installation is not possible on virtual machines, as i mentioned before our server is a virtual machine is it right that i cant use hyper-v on a virtual machine?

http://blogs.technet.com/b/gbanin/archive/2013/06/26/how-to-install-hyper-v-on-a-virtual-machine-in-hyper-v.aspx

The answer given on MSDN: http://social.msdn.microsoft.com/Forums/wpapps/en-US/083c8964-071f-469a-8740-2412a69092fc/unable-to-launch-windows-phone-emulator?forum=wptools

回答1:

I had the same problem. This fixed it.

Shut down the VM, select option “Virtualize Intel VT-x/EPT or ARM-V/RVI” in the vm processor settings.

Then add these two lines to the end of the vmx-file:

hypervisor.cpuid.v0 = "FALSE"
mce.enable = "TRUE"

Start the VM, add the Hyper-V components and restart the vm. Next time you start the emulator, Visual Studio will configure Hyper-V and run the emulator



回答2:

Ok, I've successfully fixed this issue. But I've my particular scenario, so I don't know if it can solve for you too. My scenario is as follow:

  1. I'm developing for Windows Phone 8, using a iMac 10.9.1 OSX;
  2. I'm using the VMWare Fusion 6, with Windows 8.1 imported through bootcamp;
  3. I'm using Visual Studio 2013 Ultimate, running the emulator from it;
  4. I was receiving that error in every manner that I used to launch the Windows Phone Emulator.

To fix the issue:

  1. You must use Hyper-V (VM Settings -> Processors & Memory -> Advanced options -> [Enable hypervisor applications in this virtual machine] must be checked), only changeable with VMWare turned off;
  2. To use Hyper-V, your VMWare must have at least 2 processors. It can be set with VMWare turned off in the same window of item 1;
  3. In VM Settings -> Advanced -> Preferred virtualization engine, select Intel VT-x with EPT;
  4. Open the directory where you VMWare image is located, and open it with [option] button holded. Click in [Show Package Contents] and locate the .vmx file. Open this file with a text editor and put/modify these lines:
    • hypervisor.cpuid.v0 = "FALSE"
    • mce.enable = "TRUE"
    • vhv.enable = "TRUE"
  5. I've followed these references:
    • http://blogs.msdn.com/
    • http://girliemac.com/

I hope that it helps you too!



回答3:

After enabling support for VTx in your BIOS, you might want to check your system by running the Codeinfo tool.

Also, don't forget to enable "Hyper-V Management Tools" and "Hyper-V Platform" on "Control Panel->Programs and Features->Turn Windows Features on of off->Hyper-V":

I am running Windows 8 64 bit inside VMware player on top of a windows 7 machine. Also had problems running the emulator from windows phone 8, and solved them by following this guide: http://developer.nokia.com/Community/Wiki/Windows_Phone_8_SDK_on_a_Virtual_Machine_with_Working_Emulator

Hope it helps...



回答4:

You have not installed Hyper-V properly. "Hyper-V platform" should be installed for the service to run. Normally VM's have a "hypervisor" running by default and Hyper-V requires this hypervisor to run itself.

So first disable the hypervisor of the VM by altering the "vmx"(in case its vmware) file of your virtual machine(BACK UP THE FILE BEFORE MAKING CHANGES!)

off your VM

locate the .vmx file

If you cant fiond the vmx file read this article - http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003880

open it with notepad and add this line at the end(or anywhere actually)

hypervisor.cpuid.v0 = "FALSE"

If you cant find the vmx file read this article http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003880

Now you will be able to install the "Hyper-V platform" in windows "turn windows features on or off", do that.

restart

Try deploying to WP Now! If it is still not working please comment the error you get!



回答5:

Select the Emulator VM you are going to use in Windows 8 Phone development (default one is “Emulator WVGA 512MB”). Go to the Hyper-V VM settings and change the number of processors from 2 to 1. Press Apply and than OK in order to apply new settings.

If on a Mac or virtual machine ..

Or try to see the other solutions in this link:

Running Windows 8 Phone emulator in the Windows 8 virtual machine Problem

I really hope this link link can help you a less ;-)



回答6:

Just copy your vhd and other files from the vhd location to another folder. Just create another a new VM with the VHD which you just copied. Now it will start.



回答7:

I had a situation where I had installed an azure component which preceded the current Visual Studio quarterly update and caused the emulator to die.

I recommend that you re-install/fix the current Visual Studio Update. Reboot and try again.



回答8:

Make sure you select the option “Virtualize Intel VT-x/EPT or ARM-V/RVI”. This is required to be able to run HYPER-V on your virtual machine.



回答9:

Just open Hyper-V manager and delete all connections. Then try again. This solution worked on my PC.



回答10:

Add these two lines to the end of the vmx-file:

hypervisor.cpuid.v0 = "FALSE" mce.enable = "TRUE"



回答11:

Right Click on Computer --> Click Properties --> On Left Look for "Advanced System Properties" and Click on it Click "Advanced" tab --> Click the "Performance Setting" Button --> Click "Advanced" Tab --> In the "Virtual Memory" section Click "Change .." --> Unchecked Automatically manage paging file size for all drives --> Click Radio Custom size --> Set the values manually - Minimum [4096], Maximum [8192]