[VPC] Using Virtual PC for developer portability - Jon Galloway

[VPC] Using Virtual PC for developer portability

I've been using VPC quite a bit lately. At work, we've got a few applications which can take days to get set up for development - one app is ASP.NET mixed with VB DCOM on DB2, another is even more confusing. Both take a few days to configure, and that's if you follow the directions and ask the guys who built it. That kills developer portability - a 30 minute bug fix becomes a 30 hour bug fix if the developer hasn't gone through the installation initiatiation on that system yet.

So when our groups officially merged recently and cross-training was looking unavoidable, I worked with the leads on each of these systems to configure a VPC development image. The nice thing with this is that the system is correctly configured by someone that knows what they're doing. The image is fully patched and includes Visual Studio, configured websites, appropriate database client tools, virus scanning software, and source control client software.

Now, moving a new developer onto a project is as simple as installing VPC (about 5 minutes), copying the image (DVD / network share / USB2 external hard drive), and starting it up. Of course, the developer needs to check out the latest code from source control, but they just need to pull down the deltas since the image was built.

I know this is old news and elementary VPC usage for some developers. At Microsoft, for instance, QA tests on VPC's so they can give an image in the error state to the developer to debug. However, it's saved our group so much time lately that I wanted to share our success story. More VPC goodies and links to follow.

Published Saturday, May 7, 2005 8:30 AM by Jon Galloway
Filed under:


# re: [VPC] Using Virtual PC for developer portability

We are in the process of developing a similar system ourselves. We have found that there are two obstacles for this to run seemlessly:

(1) Computer identity
Each developer has to run NewSid on the image before s/he can start using it. If one of the testers find a bug, development "inherits" that identity and the tester must start anew with another identity.

(2) Windows Update
Usually we try to do a basic Windows installation on a full disk and then let the rest be differencing disk from that one. However, there are times we would like to run Windows Update on the base image and then let the other disks be updated as well. As disk differencing is done on disk level, this would not work out in the long run.

Any thought/comments on these two challenges?

Saturday, May 7, 2005 8:33 AM by Roland Kaufmann