One of the prerequisites for teaching mobile development in many institutions is the availability of access to iOS, Android and Windows. So from recent discussions with a number of institutions re this summer hardware refresh one of the key questions is how can I make Windows Phone 8 development labs available in our Apple Mac’s lab?
So the following is a quick guide to how to do this
One of the key requirement of the Windows Phone 8 SDK is that the host machine needs to have Hyper-V capability and must be running Windows 8 Pro 64 bit edition.
The majority of all new computer hardware PC and Mac’s has the necessary hardware, and it is possible to install the SDK in a virtual environment running Windows 8 and still use the Emulator on both Windows and OSX.
So what are the options?
1. Use Boot Camp, dual boot into Windows 8 Pro, and go from there.
2. Use Boot Camp, Dual boot into Windows 7 and use a Virtual Machine
3. Use a OSX with a Virtual Machine Client to run multiple host operating system
Using Boot Camp is the preferred option and would be free, additionally this would provide native performance and a great experience to students.
However I am aware a number of IT Department aren't ready to roll out Windows 8 as the institution wide Managed Desktop Environment and a number of institutions local IT Support team have result to utilising VM clients as interim step.
The following is a step by step guide to the requirement and how and to’s of setting up Windows Phone 8 SDK under a Virtual Machine
Running a VM within VM
Even the VMware Workstation approach is really just a hack – running VMs in VMs is by no means a good idea, but it will solve the problem
So the first thing to check is the Hardware
You will need
- 64bit host operating system
- At least 8GB of RAM for the host machine so that you can assign 4GB to the Virtual Machine
- 30-40GB of free space.
Testing SLAT Capability of the Hardware
You will also need the following software for testing of your PC Hardware:
- Download Coreinfo tool. This is used to check if your computer is capable of running Windows 8 with Hyper-V. Run the steps described below in First Check – Does my computer support Windows 8 and Hyper-V? section before downloading the remaining softwares so that you don't lose time if your computer is not supported.
Getting the SDK
- Download the Windows Phone 8 SDK. You can do this after installing the VM so that you can download the tool from within it.
First Check – Does my computer support Windows 8 and Hyper-V?
The first step is to check if your computer supports Windows 8 Hyper-V or not. If it does then you will be able to Install a VM Client of your choice and enable it on the VM.
Assuming that you have already downloaded the Coreinfo tool, the next steps are:
- Open the command prompt by clicking on start -> type CMD, then right-click "Command Prompt" and Run as administrator
- Go to the folder where you downloaded the tool to and type: coreinfo.exe –v
Coreinfo v3.1 - Dump information on system CPU and memory topology
Copyright (C) 2008-2012 Mark Russinovich
Sysinternals - www.sysinternals.com
Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz
Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
HYPERVISOR - Hypervisor is present
VMX * Supports Intel hardware-assisted virtualization
EPT * Supports Intel extended page tables (SLAT)
If you have a SLAT enabled CPU (marked by an asterisk), you can proceed with this guide. If not, you may consider upgrading your hardware.
What if your Hardware isn't SLAT Enabled?
The only viable option is physical handsets, you then simply need t developer unlocked device you won't need the Emulator, you can install the SDK and then use the device for testing. In this case you can use Windows 8 basic edition (instead of pro/enterprise) and you can skip the instructions on editing manually the .VMX file and the HYPER-V setup.
How to setup a Virtual Machine on a host operating system?
The following guide uses evaluation versions of VMWare Workstation/Fusion as an example but you could use other solutions such as Parallels http://www.developer.nokia.com/Community/Wiki/Windows_Phone_8_SDK_on_a_Virtual_Machine_with_Working_Emulator