Log in

View Full Version : Casual Developers - Create A Virtual Development Workstation


Jon Westfall
06-21-2007, 03:16 PM
When not busy posting developer's news here at PPCT, I do occasionally dabble in slinging around code to create custom applications. In the past, my work has mostly focused on database-driven web applications using PHP and MySQL. However, with my work shifting more to Windows and Windows Mobile solutions, ASP, .NET, and Visual Studio have also entered my collection of development tools. Add in the need for Windows Mobile SDKs to be installed to work on that platform, and you can imagine how <i>annoying</i> it is to set up a new “development” workstation! I can literally spend hours installing all of the various tools I need for a project (Since I don’t develop that often, these tools are often not installed until needed). Recently, with the availability of Microsoft Virtual PC, the headache has lessened. How? Well, I built my own “Development Workstation” image! Read On for more information.<!><br /><br /><a href="http://www.microsoft.com/virtualpc">Microsoft Virtual PC</a>, if you’re not familiar with it, is a tool that allows you to create multiple virtual PCs running on top of a physical PC. The technology has been around for awhile, however it really won me over while watching presenters use it to demo products on Microsoft’s “Ready To Launch” event in December 2005. Virtual PC started its life as a regular “pay” product, but now is free (along with it’s server-side cousin, Virtual Server). This means anyone can go download it from Microsoft and build their own Virtual PCs. Virtual PCs build up just like regular PCs (With a few quirks). I began by installing Windows XP into a Virtual PC image and then began adding all of the tools I needed for all of the platforms I work with. These tools included WAMP server, IIS, Visual Studio, Office 2003, CodeCharge Studio, NSIS, <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en">Windows Mobile 6 SDKs</a>, and a bunch of smaller tools that I can’t live without (e.g., PuTTY, Notepad++, Filezilla, etc..). The installation took awhile, but in the end, I have a workstation I can boot up from any of my machines and one development environment from which I can actually “rapidly” build from.<br /><br />There are a few caveats to this method that you should be aware of. First, Virtual PC images take up the same amount of space that regular PCs require – albeit in one large virtual hard drive file. My VHD file is easily over 10 GB, which can make it interesting to try to “move” around (I usually copy it to an external hard drive and use file splitting software to back it up to DVDs). Also, Virtual PCs do not support (at this time) USB pass through (so you can’t hook a USB device up to your virtual PC). However, if you’re just a causal developer annoyed at having to re-install countless apps on your systems, this may be the ticket for you. Keep your regular workstations clean and develop away rapidly and “virtually”!<br /><br /><i>Jon Westfall is a contributing editor for Pocket PC Thoughts, a somewhat-competent developer, and a psychologist by training. His writings (including weird blog posts and such) are gathered together on <a href="http://www.jonwestfall.com">JonWestfall.Com</a></i>

Kris Kumar
06-22-2007, 04:31 AM
Great topic - I love virtualization. Not on the MS camp though. I feel the speed and features are better in the VmWare world. At work we use it heavily for development boxes. I have one VM per project I am working on. Couple for testing. I rely on VmWare Workstation at work.

At home I use the VmWare Server, which is free. One big reason for supporting VmWare Server, I can use USB. I can do mobile dev. ;-)

SteveHoward999
06-22-2007, 01:04 PM
Wow this is timely!

I use a lot of Adobe software. Anyone who has tried their pre-release software from labs.adobe.com will have probably encountered some installation/uninstallation issues ...

Long story short, I was in a situation just last week where I needed to install the latest Adobe Design Suite, but it would not install on my Vista machine. I downloaded Virtual PC, and borrowed an XP image from a colleague. I installed the Adobe suite to the image, and all was great.

When I got home, I reimaged my Vista laptop, and straight away insalled Virtual PC and 'built' a new XP machine with it. I have 2 copies of that. One is totally clean, and the other has some specific development software (not the Adobe suite) that runs better on XP than on Vista.

This is going to be a life saver for me for occasional needs. It also means I can now test my work on both Vista and XP without firing up a separate machine. I plan to set up separate XP virtual machines with IE 6 and IE 7, and other browser versions...

Jon Westfall
06-22-2007, 09:07 PM
Virtual PC (And VmWare) can certainly be a lifesaver. Daniel Petri's Website has a bunch of Virtualization topics that can be an interesting <A HREF=http://www.petri.co.il>read</A>. Just look under Knowledge Base!

As some have eluded to, Virtual PCs can also be great for testing software. Heck, you could have a Windows 2000, Windows XP, Windows 2003, Windows Vista-compatible app and spend days trying it out by rebuilding boxes or finding boxes with the right OS. Now you can just have nice clean images ready to go!

Jon.

SteveHoward999
06-23-2007, 02:00 AM
Out of interest - how does Windows 2000 perform, speed-wise, compared to XP when running under Virtual PC? XP runs fine in VirtualPC on my laptop, but if I can get better performance out of Win 2000 I'd like to try it.

Jon Westfall
06-25-2007, 02:27 AM
Out of interest - how does Windows 2000 perform, speed-wise, compared to XP when running under Virtual PC? XP runs fine in VirtualPC on my laptop, but if I can get better performance out of Win 2000 I'd like to try it.

I haven't run Win2k inside of VPC in awhile, but I remember it not running too badly. Make sure you have the VPC extensions installed within the OS (I found that greatly sped up a few older OS'es that I was messing around with in VPC (Windows NT 4 Server anyone?)).

SteveHoward999
06-25-2007, 12:43 PM
I haven't run Win2k inside of VPC in awhile, but I remember it not running too badly. Make sure you have the VPC extensions installed within the OS (I found that greatly sped up a few older OS'es that I was messing around with in VPC (Windows NT 4 Server anyone?)).

It's not as if I fond XP bad ... but I remember 2000 being less of a resource-hungry beast :-)

k_kirk
06-29-2007, 01:16 PM
Check out www.mojopac.com . Its an interesting approach. You run apps off a USB thumbdrive and the software instantiates your existing XP session to make it appear as if its a separate box. Not as isolated as VMWare but appears to be more portable.