A Sandbox for Beta Software
I've been working on a new Pocket PC application, and I'm almost done. I built and tested the application on Pocket PC 2003, but since Windows Mobile 5.0 (WM5) devices are now coming out, I figured I should test my application on WM5. This turned out to be a lot more difficult than I anticipated--not to make it work, but to get my development environment setup so I could even test on WM5 without buying a new device.
My first step was to download and install the Windows Mobile 5.0 SDK. However, as soon as I ran the installer, it told me I couldn’t install the WM5 SDK without first installing Visual Studio 2005. However, VS 2005 hasn't been released yet and the last time I installed Visual Studio 2005 Beta 2 on my computer, I had all sorts of problems debugging an Outlook add-in with Visual Studio 2003. At the time, Microsoft tech support said I had no choice but to remove Visual Studio 2005 and then rebuild my machine. Yikes!
That's when I decided to build a virtual machine to run VS 2005. I setup a new machine in Virtual PC, installed Windows XP Professional, installed Visual Studio 2005 Beta 2, and finally installed the Windows Mobile 5.0 SDK. Everything worked just fine, except for one minor problem--speed. Even on my 3 GHz hyper-threading Pentium IV with 2GB of RAM, it was pig slow. Well, actually, it wasn't even that fast. When it took 5 minutes between pressing F5 and having my program finish starting up in the WM 5 emulator, I decided this just wasn’t going to work.
Then I ran into someone who suggested I try VMWare instead. He mentioned that VMWare, for some reason, runs a lot faster than Virtual PC. I downloaded a 30-day trial version of VMWare workstation, went through the whole install drill again (another day spent installing), and was ready for a try. To my amazement, I've learned that running Visual Studio 2005 and the Windows Mobile 5.0 emulator in VMWare is significantly faster. It's now almost as fast as Visual Studio 2003 and the Pocket PC 2003 emulators running natively on my machine. Amazing!
There are a few other features in VMWare that have made me decide to buy a copy, even though I already purchased a copy of Virtual PC:
- VMWare, unlike Viritual PC, has full support for USB devices. This means you can connect your Pocket PC or Smartphone to ActiveSync running inside a virtual machine. Sweet!
- VMWare has superior support for ISO image files. The version of Visual Studio 2005 I installed in the virtual machine was a release candidate I downloaded. I simply told VMWare to mount this file as the CD, and up popped the setup program. Virtual PC didn't allow mounting this same image file because it was too large.
- Hyper-thread Support: I haven't confirmed this, but it seems like VMWare actually takes advantage of the "extra CPU" in my hyper-threaded host, whereas Virtual PC definitely doesn't.
A final note about VMWare. I encountered a problem installing the Longhorn beta (as well as Windows XP SP2) into a VMWare session. The problem has to do with PAE support of the operating systems. Here is a link to more information about this issue.