Running Windows Phone Developers Tools CTP under VMWare Player - Yes you can! - But do you want to?

This blog is the result of a fellow twitter, @CraigHawker, mentioning that he was not allowed to run CTP tools on his development workstation at work.  I decided to perform a quick investigation of running the Windows Phone Developer Tools CTP under VMWare Player. I decided upon VMWare as in the release notes for Windows Phone Developer Tools CTP it mentions that it is not supported under VirtualPC or Hyper-V. 

Some developers (like Craig) have policies where ‘no non-production code’ can be installed on their development workstation and so the only way they can use a CTP like this is in a virtual machine.

The dilemma here is that the emulator for Windows Phone itself is a virtual machine and running a virtual machine within another virtual machine is normally frowned upon.  Even worse, previous Windows Mobile emulators detected they were in a virtual machine and refused to run. 

Why VMWare?

I selected VMWare as a possible solution as it is possible to run VMWare ESXi under VMWare Workstation by manually setting configuration options in the VMX configuration file so that it does not detect the presence of a virtual environment.

I actually found that I could use VMWare Player (the free version, that can now create VM images) and that there was no need for any editing of the configuration file (I tried various switches, none of which made any difference to performance).

So you can run the CTP under VMWare Player, that’s the good news. The bad news is that it is incredibly slow, bordering on unusable.  However, if it’s the only way you can use the CTP, at least this is an option.

VMWare Player configuration

I used the latest VMWare Player, 3.0, running under Windows x64 on my HP 6910p laptop with an Intel T7500 Dual Core CPU running at 2.2GHz, 4Gb of memory and using a separate drive for the virtual machines.

I created a machine in VMWare Player with a single CPU, 1536 Mb memory and installed Windows 7 x64 from an ISO image.  I then performed a Windows Update, installed VMWare Tools, and finally the Windows Phone Developer Tools CTP

After a few warnings about performance, I configured Windows 7 to run with Windows 7 Basic theme rather than use Aero (which is available under VMWare Player as it has a WDDM driver).

Timings

As a test I first launched Microsoft Visual Studio 2010 Express for Windows Phone, and created a default Windows Phone Application project.  I then clicked the run button, which starts the emulator and then loads the default application onto the emulator.

For the second test I left the emulator running, stopped the default application, added a single button to change the page title and redeployed to the already running emulator by clicking the run button.

  Test 1 (1st run) Test 2 (emulator already running)
  VMWare Player 10 minutes  1 minute
  Windows x64 native 1 minute  < 10 seconds

 

Conclusion

You can run the Windows Phone Developer Tools CTP under VMWare Player, but it’s really, really slow and you would have to have very good reasons to try this approach.

If you need to keep a development system free of non production code, and the two systems aren’t required to run simultaneously, then I’d consider a boot from VHD option.  Then you can completely isolate the Windows Phone Developer Tools CTP and development environment into a single VHD separate from your main development system.
 

Print | posted on Tuesday, March 23, 2010 10:35 PM

Comments on this post

# re: Running Windows Phone Developers Tools CTP under VMWare Player - Yes you can! - But do you want to?

Requesting Gravatar...
It also works in VMware Fusion 3.1 (beta) on Mac.
Left by Mark Rendle on Mar 23, 2010 11:15 PM

Your comment:

 (will show your gravatar)