Windows Phone Emulator inside VMWare Fusion (Hyper-V)
Want to run Windows Phone Emulator inside VMWare Fusion?
The short version
-
shutdown your Windows 8 guest
-
navigate to your .vmx file
-
add the following two lines at the end:
hypervisor.cpuid.v0 = FALSE
vhv.enable = TRUE
-
restart the Windows 8 guest
The long version
System Requirements – Hardware
You need a CPU that includes a virtualization option (Intel VT-x) as well as a Second-Level Address Translation (SLAT), which is called Extended Page Tables (EPT) in Intels case.
Intel’s Core-2-CPUs don’t support EPT, you have to have at least a Core-i-CPU.
If you try to run it on a Core-2-Duo CPU the following message appears:
Apple only offers Intel-based computers, anyway just for completeness: AMD’s equivalent to VT-x is named AMD-V, and the equivalent to EPT is named RVI (Rapid Virtualization Indexing).
System Requirements – Software
- VMWare Fusion 5 (might also work on VMWare Fusion 4, didn’t try it myself)
- 64-bit version of Windows 8
- Visual Studio for Windows Phone 2012
It will not run on the 32-bit version of Windows 8, because you can’t install Visual Studio 2012 on it.
Setup of Guest
You need to assign at least two CPUs to the 64-bit Windows 8 guest. If you don’t do so, there will be the following message:
-
shutdown your Windows 8 guest
-
right click the Windows 8 VM in Finder and choose ‘Show Package Contents’
-
open the .vmx file in a ASCII editor of your choice
-
add the following lines:
hypervisor.cpuid.v0 = FALSE
vhv.enable = TRUE
-
restart the Windows 8 guest
Without these changes you can of course try to start the Phone Emulator. But it will give you only the following message:
Now you can create an app with a few clicks and start it in the Windows Phone Emulator:
Happy coding.