Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
Windows Phone 8 SDK on a Virtual Machine with Working Emulator
This article explains how to create a Windows 8 Virtual Machine using VMWare software and install the Windows Phone 8 SDK on Windows 8 running on Virtual Machine. It also explains how to enable Hyper-V and Windows Phone 8 emulator.
Note: This article was a winner in the Windows Phone 8 Wiki Competition 2012Q4.
Windows Phone 8
One of the prerequisites for using Windows Phone 8 SDK is a machine with Hyper-V capability running (at least) Windows 8 Pro 64 bit edition. Provided your computer has the necessary hardware, it is possible to install the SDK in a virtual environment running Windows 8 and still use the Emulator. This guide demonstrates how to do just that, using VMWare Workstation Trial and Windows 8 Enterprise Developer Evaluation.
If you have a developer unlocked device you won't need the Emulator, but can instead 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.
The guide uses evaluation versions of VMWare Workstation and Windows 8 Enterprise. You can of course use 64 bit licensed versions of VMWare Workstation and Windows 8 Pro (or Windows 8 Enterprise) instead. If you don't need the Emulator you can use Windows 8 Base edition.
What will you need
- 64bit host operating system (This article was done with a Windows 7 64bit)
- At least 8GB of RAM for the host machine so that you can assign 4GB to the Virtual Machine
- 30-40GB of free space. At the end of this article, you will have a Virtual Machine that will have about 15GB in size. Reserve at least some space for it to grow.
You will also need the following software:
- 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.
- Download Windows 8 Developer Evaluation (be sure to download the 64bit version). You will need to register with your Windows Live ID so that you can also get a key for the evaluation. It will grant you 90 days of evaluation.
- Register on vmware.com. After registering, download a trial of VMWare Workstation 9 or higher. This will grant you a 30 days license. In fact,there's a free production named VMware Player can run a virtual machine as VMware Workstation.
- 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 VMWare Workstation 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.
Install VMWare Workstation 9
After downloading VMWare Workstaion 9, install it on your machine. It is a simple wizard-directed procedure.
One of the steps in the installation is to add the key which you got from your trial. Please make sure to have it with you before proceeding further:
Finally you are ready to create your first Virtual Machine.
Create the Virtual Machine
The first step is to select the option to create a new Virtual Machine on this screen
On the next screen make sure you select the Custom (Advanced) option. This is the best way to create your VM so that you will have full control over the settings:
And when it comes to hardware compatibility, select the highest option:
The next step is very important where you need to select the option that you will install the OS later. Do not try to install Windows 8 now otherwise the setup will fail. This is because with the Evaluation edition you don't have a KEY and for some reason VMWare tries to create an automated setup file which, later on, Windows 8 setup will fail to recognize.
Give a name to your VM:
Configure the CPU:
And configure memory. I would recommend at least 4GB. My machine has 8GB. If you can’t use 4GB, use as much as you can.
For "Network Type", use NAT, so that your VM will share your network/Internet connection. It is crucial that your VM has access to the Internet otherwise you won't be able to install the SDK:
I left the default I/O controller selected:
And now it is time to create a new Virtual HD:
Again I left the default type selected:
And I recommend at least 60GB. It is better to reserve more if you can. Also I prefer to keep my VM on a single file:
I store my Virtual HD on a external USB 2.0 or 3.0 hard drive. I found that having the Virtual HD on a separate disk significantly increases performance:
The next step is to customize the hardware. This is very important because we will need to tweak some of the default values:
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.
It is now time to make some changes to the Virtual Machine configuration file before proceeding. Exit VMWare before making this change. If you try to install HYPER-V before doing this step, chances are that you will have problems running it. So to ensure that everything goes smoothly, go to the folder where you created your Virtual Machine and find the file with extension .VMX. In my case it was “Windows 8 x64.vmx”. Edit the file and add the text marked in red (hypervisor.cpuid.v0 = ”FALSE”):
Save the file.
That is it. You are ready for the next and final step. For that you need to start VMWare Workstation again.
Install Windows 8 Virtual Machine
On the CD/DVD select the Windows 8 Enterprise Developer Evaluation ISO you downloaded earlier (or that you will download now):
Run your VM and follow the setup instructions for Windows 8.
Once you run the Windows 8 for the first time, you will be asked to customize it. Follow the wizard to the end and when you have finally access to your Windows 8 installation, open the desktop and select the "Install Tools" option for VMWare:
A Virtual DVD drive will be mounted and Windows 8 may show you a message on the upper right corner with a message. Select that message or open Explorer with the Windows Key + E and find the DVD drive. Run the VMWare setup:
After performing the above steps, restart the Virtual Machine.
When you get Windows 8 VM up and running again, open Control Panel and select the option Turn Windows features on or off:
Then select the HYPER-V options:
Your are all set. Next step is to install the SDK. Go to the download page mentioned at the beginning of this page and run it:
The setup will start. Follow the wizard:
After the installation is complete you will need to register your copy of the SDK. Just follow the link "Register online" and follow the necessary steps.
At the end of the registration, you will be provided with a Key. Copy that key, save it for future reference and future installations and use it on the Product Key box:
Now to create your first Windows Phone 8 Project
Now to test if everything is working properly, open Visual Studio 2012 express and create a new Windows Phone Project:
Select the Windows Phone 8 as a target:
And you will get a new project similar to this:
Press F5 or the Green arrow to run the project. The emulator will start to load. Be patient because the first time can take a few long seconds:
If your app takes a bit to load, don’t worry. It is normal. Just give it a few more seconds and it will come up:
Congratulations. You now have a fully working Windows 8 with Windows Phone 8 SDK and Windows Phone 8 emulator up and running.
What about connecting my device to the virtual machine?
This should be trivial indeed, most (all?) virtual machines allow forwarding of the USB port from the host OS to the guest one, by simply clicking on the USB status indicator icon. Once you redirect the USB port to the guest OS, Windows 8 will see it and start installing the required drivers, after which the device is available to the IDE.
Under the tips and tricks section of this topic:
- if you are using Oracle VirtualBox make sure to enable USB 2.0 in VM's settings. This will require you to also install the corresponding Oracle VM VirtualBox Extension Pack.
So, I hope you liked this guide. I tried to be as simple as possible, and to include as many screenshots as I could, because a picture does worth a thousand words. Feedback and comments are very welcome.