With the release of Windows Phone 8 finally out there, we finally have access to the SDK. I've heard that it requires special hardware or something for the emulator though. What are the system requirements for the phone emulator?
What does it take to run the Windows Phone 8 emulator
windows-phonewindows-phone-8windows-phone-8-emulator
Related Solutions
I think I've finally found the answer, but you're probably not going to like it. It would appear that the phone emulator requires you to have a second network adapter to dedicate to this purpose. Personally, I run Windows 8 in VMWare, and so a second network adapter is free for me.
Anyway, after you get the second network adapter that you can dedicate for the phone emulator(must have internet)
- Start from scratch. Go to the Hyper-V manager and delete the emulator along with all of the virtual switches
- Start the emulator from Visual Studio; this will recreate it with all default settings(select yes you want to configure it to connect to the internet)
- Shut it down
- Now, go back to the Hyper-V manager
- Delete the snapshot that was just created for the emulator. This will prevent your changes from disappearing
- Find the virtual switch for your second network adapter in the Network Adapter settings(under control panel)
- Disable TCP/IPv4, 6 and all other services. This prevents your host machine from trying to use the connection. While you're there, get the MAC(Physical) address of this adapter
- Find the virtual-switch for your second network adapter under the Hyper-V settings for the emulator
- Change the MAC type to static and paste in the MAC address of the adapter
- Enable MAC spoofing (not sure if required, but just in case)
- Then, find your virtual switch under "Virtual Switch Manager".
- Ensure "Allow management operating system to share this network adapter" is unchecked and that all extensions are disabled
- Click OK and then start the emulator from Visual Studio!
Basically, it appears that for some odd reason it won't properly work unless the phone has the same MAC address as the network adapter. However, we can't just set it to use the same MAC address because address conflicts are very very bad. So, we need a second adapter that we can dedicate to the Phone emulator. The reason we disable TCP/IP on this adapter is so our host machine doesn't use it and cause these conflicts.
Other things to try:
The emulator keeps randomly breaking for me. I'll list a few other things I messed with this last time that got it to work(not sure if related, so only try these if the steps above aren't working
- "Reordering" of network adapters for the emulator so that the external virtual switch is at the top (make sure to copy over the MAC address for the internal adapter)
- Removing unrelated network adapters
- Restarting your machine after recongiguring virtual switches
- Praying to your local Microsoft evangilist
Seriously. Everytime I stop phone work for a while and come back, the emulator is always magically broken without me changing anything. No idea how to get it to work "permanently".
Yes, it's absolutely completely impossible, done, finito, acabado.
Why is it so hard for everybody to understand that? It's documented everywhere, and you'll be told so when installing, and attempting to run the emulator.
Well, while I'm sure you're right and it's documented somewhere, it was only after installing and running Windows Phone 8 SDK on an iMac (with i5 processor) under Bootcamp gave me the confidence to overwrite the Windows 7 partition on my MacBook Pro (CoreDuo), Buy Windows 8, install it all, go through the (rather lengthy) Windows Phone 8 SDK installation again and, only at the very end, be told "this computer isn't compatible with Windows Phone 8" etc message.
Ok, I could have looked harder at the documentation, but I figured a trail run on an iMac was a good test. It's a pretty non standard requirement too - "Must have a SLAT processor".
I get the benefits etc, but I think it's pretty poor user experience to only be told this at the very end of the installation process.
Best Answer
You need Windows 8 x64 Pro or Enterprise, Visual Studio 2012 (or the express edition from the SDK) and CPU supporting SLAT for running Hyper-V - WP8 emulators are running as Hyper-V virtual machines.
(In other words no Linux, or Macs with processors older than the Intel Core i3, i5 or i7, no other edition of Windows, no Visual Studio 2010 or older, no x86 version of Windows, no Core2Duo and older CPUs, etc.)
Edit: You can use Macs for developing for WP8, but only if you install Windows 8 on it.
https://dev.windowsphone.com/en-us/downloadsdk