#mobiledev with Windows Emulator on your Mac

Windows EmulatorJust a quick post to answer a question whose answer isn’t that obvious as it should be:

Can I emulate Windows (8.1/10/ universal) apps build with tools like Xamarin or Cordova on my Mac OS based machine?

The answer is YES, but… In order to run a Windows Emulator on your Mac you will need the following:

  • Virtualisation software
  • One hyper-v enabled Virtual Machine (VM) running Windows 8.1 or 10 as the OS
  • Visual Studio 2015 Update 2 with windows emulator installed

Virtual machinery

I’ll be frank about this: if you want to setup a VM quickly and get going with building and emulating a Windows (Phone/10/..) app with the Windows Emulator you’ll need to pay for virtualisation software like Parallels Desktop (v11) or VMWare Fusion. They setup nicely and they play nice with one feature that you’ll definitely need: nested virtualisation.

Windows Emulator runs on a virtualisation technique and platform called Hyper-V. Since this is a virtualisation implementation your VM software needs to be able to run a Hyper-V based virtual machine (which basically is what Windows Emulator runs) inside the VM. You’ll need to setup Parallels or VMWare Fusion for your VM but after that it will play nice. I’m in favor for Parallels on this one since it’s just one simple setting with this package.

I really love VirtualBox but the proces for getting to run Hyper-V inside a VirtualBox VM is so complex that I’ve left the use for it to Genymotion and develop/test Windows builds in a Parallels VM.

Getting your tools up in virtuality

When you’ve picked your VM tool like Parallels and setup a Hyper-V enabled Virtual machine you’re good to go and install Visual Studio 2015. Make sure to select custom configuration options when installing and install the Windows Emulator and get going.

One last tip: If you want to develop for Windows 10 use a Windows 10 VM and set that up. Experience learns that using a Windows 8.1 VM running Windows 10 Emulator runs like a Turtle in the desert.