Running Visual Studio 2010 and TFS on a mac

Dominic (product owner on our team) and I are both big fans of Apple laptops, having recently switched from our old PCs. While I already had a macbook pro at home, using one for work was a whole other story for me. I happen to be scrummaster and developer on the team, and as you should already know, we develop software using Microsoft tools, especially Visual Studio. Building the new version of Urban Turtle to integrate with Team Web Access 2010 forced me to use Boot Camp and boot into Windows to run Microsoft's virtual machine available to try out Visual Studio and TFS 2010 (Beta 2 and then RC).

Dom kept on making fun of me for missing out on the fun that is using Mac OS X. Feeling a little frustrated, I decided to try and run Microsoft's virtual machine inside Mac OS X, using VMWare Fusion, my virtualization solution of choice for the mac. VMWare Fusion does not allow you to directly import or convert a Virtual PC-based machine. I had to figure things out on my own a little bit and I faced some issues while doing so. This is why I thought sharing my experience with the world might be useful to someone.

First of all, VMWare requires you to download the VMWare Converter tool to convert your Virtual PC machine into a VMWare-compatible one. You first need to register with VMWare before getting to the bits. However, it's free software (as in free beer), so go ahead, register and download it.

VMWare does not run on Mac OS X, so I had to boot into my Windows boot camp partition and install it. When that was over, starting the conversion process was a breeze. Well, that is if you don't mind converting the virtual machine into a VMWare Fusion 2.* machine even though the latest VMWare Fusion version is 3.*. That was kind of odd, but I went ahead anyway. The whole process took around an hour (I was watching the Habs game so this is not a very precise measurement).

With the machine converted, I booted back into Mac OS X, copied the machine over to my external hard drive, launched VMWare Fusion and opened the machine. I was happy to see the Windows logo appear rather quickly, but I was in for a real disappointment when Windows was finally ready for use. Usually, when you boot into a guest OS for the first time, any VMWare user knows to install the VMWare Tools to improve performance and get decent mouse support. When I tried to do so, I got a message saying the tools weren't available for this version of the guest OS. Some searching on the web yielded a different story. Microsoft's virtual machine features Windows Server 2008 Standard 32 bits. This is a supported version by the VMWare Tools. The situation sure was disappointing. Performance just wasn't there, rendering the virtual machine pretty much unusable.

However, I never give up this easily. I looked for actual documentation about how to convert machines to run them with VMWare Fusion. I found this document and paid attention to the part where it says to retain only the vmdk files, and drop the others. I hadn't done that. I kept all files, especially the one with the actual machine settings. That was my first mistake. I started the process over but this time, instead of opening the machine with Fusion, I chose to create a new one. I specified the existing vmdk file as the hard drive to use, configured the proper OS version (the 64bits version of Windows Server 2008 was selected, I chose the 32 bits version) and completed the wizard, launching the virtual machine. Choosing the right version of the guest OS really gave me hope that I would be able to install the VMWare Tools. I was right. Once Windows was booted, I quickly tried to install the tools and the whole thing worked flawlessly.

So here I am, on my shiny Macbook Pro, running Microsoft's virtual machine made available to try the Visual Studio 2010 family of products. While I will use it to test the new version of Urban Turtle for Team Web Access 2010, I also had a secret wish all along. I really wanted to test out the recently released Windows 7 Phone developer tools.

Can a turtle really fit inside a phone?

- Louis Pellerin