Tools

Namespaces

Variants

Views

Actions

Search

Contents

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. Thanks for all your past and future contributions.

Install Parallels Desktop 8 following product's typical [http://kb.parallels.com/114623 install guide] and then follow Parallels' guide for [http://kb.parallels.com/4729 installing Windows 8]. It is a rather straight-forward process but since we aim to run the Windows Phone emulator (a virtual machine) inside the Parallels virtual machine we have to customize the Windows VM installation, so make sure to select "Customize settings before installation".

+

Install the latest version of Parallels Desktop (screenshots below are from version 8) following product's typical [http://kb.parallels.com/114623 install guide] and then follow Parallels' guide for [http://kb.parallels.com/4729 installing Windows 8]. It is a rather straight-forward process but since we aim to run the Windows Phone emulator (a virtual machine) inside the Parallels virtual machine we have to customize the Windows VM installation, so make sure to select "Customize settings before installation".

If you have neglected to enabled VM customization at install time, or if you want to experiment with other combination of options, you can edit the setting below, and many more which are not directly relevant for this subject, using Parallels' Virtual machine -> Configure... menu. For the settings to be accessible simply stop the running VM then restart it after the settings have been changed.

If you have neglected to enabled VM customization at install time, or if you want to experiment with other combination of options, you can edit the setting below, and many more which are not directly relevant for this subject, using Parallels' Virtual machine -> Configure... menu. For the settings to be accessible simply stop the running VM then restart it after the settings have been changed.

+

=== Number of CPU cores ===

=== Number of CPU cores ===

Line 50:

Line 48:

You can experiment with the two options and see which works best on your machine, we recommend the first approach if your machine is powerful enough.

You can experiment with the two options and see which works best on your machine, we recommend the first approach if your machine is powerful enough.

−

[[File:ParallelsCPUAndMemory.png|thumb|Add caption here]]

+

[[File:ParallelsCPUAndMemory.png|frame|none|500x500px|Configure CPU and memory for best performace]]

+

===Memory allocation===

===Memory allocation===

Parallels recommends that for a Windows VM you should allocate between 512 MB and 4 GB. We recommend at least 2 GB if you do not plan to use the SDK emulator and 4 GB or more if you plan to use the SDK emulator inside the VM. Of course the amount of memory you can make available to the VM depends on the amount of RAM available on your Mac, you should not allocate more than 50% of the total RAM to the VM.

Parallels recommends that for a Windows VM you should allocate between 512 MB and 4 GB. We recommend at least 2 GB if you do not plan to use the SDK emulator and 4 GB or more if you plan to use the SDK emulator inside the VM. Of course the amount of memory you can make available to the VM depends on the amount of RAM available on your Mac, you should not allocate more than 50% of the total RAM to the VM.

+

===Nested virtualization===

===Nested virtualization===

Line 60:

Line 60:

Virtualization solutions such as Parallels do not typically encourage the use of virtual machines inside virtual machines (i.e. nested virtualization) but some do support it as an optional feature. We need to enable this feature in order for Windows Phone SDK's emulator to work, so as the next step we will check the corresponding "Enable" box in the Optimization page of the Options configuration dialog.

Virtualization solutions such as Parallels do not typically encourage the use of virtual machines inside virtual machines (i.e. nested virtualization) but some do support it as an optional feature. We need to enable this feature in order for Windows Phone SDK's emulator to work, so as the next step we will check the corresponding "Enable" box in the Optimization page of the Options configuration dialog.

With these settings you are now ready to complete the Windows 8 installation according to Parallels' install guide.

With these settings you are now ready to complete the Windows 8 installation according to Parallels' install guide.

+

==Enable Hyper-V==

==Enable Hyper-V==

Line 68:

Line 69:

Once you have Windows 8 installed fully, you can now install one of its optional features, Hyper-V. This component is required by the SDK's emulator so you must complete this step before installing the SDK.

Once you have Windows 8 installed fully, you can now install one of its optional features, Hyper-V. This component is required by the SDK's emulator so you must complete this step before installing the SDK.

−

[[File:InstallHyperV.png|thumb|Add caption here]]

+

[[File:InstallHyperV.png|frame|none|500x500px|Install Hyper-V support in Windows.]]

A reboot will likely be required in order to compete the installation of this feature.

A reboot will likely be required in order to compete the installation of this feature.

+

== Install the Windows Phone 8 SDK==

== Install the Windows Phone 8 SDK==

−

You are now ready to install the Windows Phone 8 SDK. If you have already downloaded the offline installer (ISO file) make sure to transfer it inside the Windows VM image and open it from there (you can map the *.iso as a drive and then run the setup utility). If you have an internet connection you can use the online installer. Just follow the standard installation process, there are no extra tricks :)

+

You are now ready to install the Windows Phone 8 SDK. If you have already downloaded the offline installer (ISO file) make sure to transfer it inside the Windows VM image and open it from there (you can map the *.iso as a drive and then run the setup utility). If you have an internet connection you can use the online installer. Follow the installation flow and restart the virtual machine when required.

You can now create your first Windows Phone 8 project and have it running in the emulator or on your Windows Phone 8 device.

You can now create your first Windows Phone 8 project and have it running in the emulator or on your Windows Phone 8 device.

−

==Change SDK emulator's CPU requirements==

+

Note that you have now Windows running as a guest OS hosted by OS X. Only one of these OSs can access the USB port so when connecting the Windows Phone to your Mac expect to see a prompt asking which OS should gain control over the new device. Select Windows Phone and you will see the appropriate drivers being installed by the OS. Once the driver installation completed you can run the SDK tools to developer unlock the device and then start deploying apps to it.

+

+

==Lower SDK emulator's CPU requirements==

As mentioned above the emulator image is configured with multicore support so it does expect that Windows has at least two CPU cores available. If you chose to (or are forced to) allocate only one CPU to the Windows VM you will have to lower the CPU setting for the emulator as well, or else the emulator image cannot be started.

As mentioned above the emulator image is configured with multicore support so it does expect that Windows has at least two CPU cores available. If you chose to (or are forced to) allocate only one CPU to the Windows VM you will have to lower the CPU setting for the emulator as well, or else the emulator image cannot be started.

You can find instructions for how to change this setting in Parallels' [http://kb.parallels.com/en/115211 Windows Phone 8 SDK install guide].

You can find instructions for how to change this setting in Parallels' [http://kb.parallels.com/en/115211 Windows Phone 8 SDK install guide].

+

+

[[File:LowerSDKcpu.png|frame|none|500x500px|Change the number of CPUs available to the emulator VM]]

+

+

==Troubleshooting==

==Troubleshooting==

TBD

TBD

+

+

+

{{SeeAlso|[[Windows Phone 8 SDK on a Virtual Machine with Working Emulator]]}}

Latest revision as of 19:51, 4 October 2013

This article explains how to install the Windows Phone 8 SDK on a Mac computer using the Parallels virtualization solution.

Install the latest version of Parallels Desktop (screenshots below are from version 8) following product's typical install guide and then follow Parallels' guide for installing Windows 8. It is a rather straight-forward process but since we aim to run the Windows Phone emulator (a virtual machine) inside the Parallels virtual machine we have to customize the Windows VM installation, so make sure to select "Customize settings before installation".

If you have neglected to enabled VM customization at install time, or if you want to experiment with other combination of options, you can edit the setting below, and many more which are not directly relevant for this subject, using Parallels' Virtual machine -> Configure... menu. For the settings to be accessible simply stop the running VM then restart it after the settings have been changed.

The Windows Phone Emulator's Windows Phone 8 images come configured for multicore devices, so they expect to have two CPU cores available to them. However by default Parallels makes only once CPU core available to Windows, invoking stability concerns. We have therefore two options here:

change VM's configuration to allow Windows to see two (or more) CPU cores

install Windows on a machine with just 1 CPU and later edit emulator VM's settings to lower its CPU setting.

You can experiment with the two options and see which works best on your machine, we recommend the first approach if your machine is powerful enough.

Parallels recommends that for a Windows VM you should allocate between 512 MB and 4 GB. We recommend at least 2 GB if you do not plan to use the SDK emulator and 4 GB or more if you plan to use the SDK emulator inside the VM. Of course the amount of memory you can make available to the VM depends on the amount of RAM available on your Mac, you should not allocate more than 50% of the total RAM to the VM.

Virtualization solutions such as Parallels do not typically encourage the use of virtual machines inside virtual machines (i.e. nested virtualization) but some do support it as an optional feature. We need to enable this feature in order for Windows Phone SDK's emulator to work, so as the next step we will check the corresponding "Enable" box in the Optimization page of the Options configuration dialog.

Enable nested virtualization support

With these settings you are now ready to complete the Windows 8 installation according to Parallels' install guide.

Once you have Windows 8 installed fully, you can now install one of its optional features, Hyper-V. This component is required by the SDK's emulator so you must complete this step before installing the SDK.

Install Hyper-V support in Windows.

A reboot will likely be required in order to compete the installation of this feature.

You are now ready to install the Windows Phone 8 SDK. If you have already downloaded the offline installer (ISO file) make sure to transfer it inside the Windows VM image and open it from there (you can map the *.iso as a drive and then run the setup utility). If you have an internet connection you can use the online installer. Follow the installation flow and restart the virtual machine when required.

You can now create your first Windows Phone 8 project and have it running in the emulator or on your Windows Phone 8 device.

Note that you have now Windows running as a guest OS hosted by OS X. Only one of these OSs can access the USB port so when connecting the Windows Phone to your Mac expect to see a prompt asking which OS should gain control over the new device. Select Windows Phone and you will see the appropriate drivers being installed by the OS. Once the driver installation completed you can run the SDK tools to developer unlock the device and then start deploying apps to it.

As mentioned above the emulator image is configured with multicore support so it does expect that Windows has at least two CPU cores available. If you chose to (or are forced to) allocate only one CPU to the Windows VM you will have to lower the CPU setting for the emulator as well, or else the emulator image cannot be started.