virtual-pc


Windows Virtual PC Development Setup?


After having had a dev PC HD corrupt, I'm considering the idea of making my development environment be fully Virtual PC based.
The core items would be:
- XP Pro 32
- IIS
- VS2003
- VS2008
- SQL Server 2005
- Office 2003
Primary source would reside on a server in SVN with only a clocal copy on the VPC.
This would be for Windows based web and desktop development.
Assuming that the host machine has decent performance and provides for hardware virtualization, are there any known gotchas with such a setup, ie main pros and cons. Any performance issues or other issues that make this a good or bad idea?
I'd like to go this route so I can create a full backup VPC that can be put on a new PC if one fails and is repalced or copied to a laptop as needed for offsite work, etc. With the new Virtual PC features of Win7 this seems like it may be even better goign forward too.
Would like to get some feedback on this before we go down that road...
I wouldn't recommend Virtual PC because the performance is pretty disappointing compared to VMWare.
I've used a virtual development machine inside VMWare Workstation and VMWare Fusion on Mac for quite a while, and it works very well. It feels as if you're running on a dedicated machine.
My recommendations are:
Use a 64-bit OS as your host OS (Vista x64, Windows 7 64-bit, Mac OS X Leopord)
Have at least 6GB of RAM on your physical machine
Allocate 3GB of RAM to your VM for 32-bit, or more for a 64-bit guest OS
Pre-allocate the diskspace for your guest OS (no auto-grow)
Another advantage is that you can take your VM from a Windows-based VMWare Workstation to a Mac-based VMWare Fusion (and the other way around) without any problems.
I have been running multiple virtual development environments in MS Virtual PC and Virtualbox for 2 years now. I am doing mostly asp.net applications, some of the solutions are relatively large and use large databases which I also run inside the VM.
My observations based on this:
It is a good idea for exactly the reasons you mention and it works fine. Go for it!
768 megs of ram for the VM is enough, but more is better.
Have a Multi-core CPU.
Install the virtual machine additions for the guest OS. (This is basically like installing the proper drivers for your "virtual" hardware, and seems to be more important for performance than having hardware virtualisation support).
If possible, have the VM disk image on
a separate physical disk from the
host OS.
Use Virtualbox. It's free, and being developed rapidly. It might already be the best.
If you can satisfy the above, performance is no issue. Multiple Visual studio instances, IIS, SQL, Office, works just fine.
Running multiple copies of the same guest OS when it is a member of a domain/AD is tricky. If you need to do this you should read up on the sysprep.exe tool. Basically you can't just make a copy of the virtual disk, you need to take some special precautions.
Virtual PC is very convenient and it was what I used for starters, but I have to say that virtualbox seems to have overtaken it now. It was a bit rough in the beginning but the last few versions have really gotten there.
Virtualbox is fully free, and it has better features than VPC2007 - the main one that made me switch was the support for high resolutions. Virtualbox runs fullscreen on my 1920x1080 no problem.
It can also run virtual PC images, so switching was just a matter of installing virtualbox and adding my existing virtual PC disks to it.
An added benefit is that I can run the virtual images just as easily on my new mac as on the old pc.
The commercial options are not (anymore) worth what they cost, IMHO.
One thing you might have to consider is the lack of support for multiple monitors within the VM. I really like using multiple monitors, one for my source, the rest for all the rest. As far as I know, this is not possible in Virtual PC. Aside from that I can't think of anything that should hold you back, it's something I have been considering as well.
Regards,
Sebastiaan
VirtualBox from Sun is also a good choice. I am writing this from a Vista laptop with a virtualised Ubuntu dev environment.
One thing that Virtual Box is great for is having a seamless mode in which the guest OS application windows are presented as just windows on the host system, with a single common background (you get 2 status bars - one for Windows and one for Linux).
The Z-orders don't interpolate (ie all guest windows appear on the same Z plane in the host Window system, with their own Z-order within that plane) which can make it a bit odd, but you get used to it.
It is particularly useful if you need to build across many environments. VirtualBox is getting better and I now have an OpenSolaris environment and a FreeBSD one as well.
It is free as in beer which can be handy.
I actually run three development environments (and many test environments) under Ubuntu host in Windows guest virtual machines - it's very good for keeping things separated and for being able to restore test environments to a known point. It's also handy since the backup is a simple directory copy on the host and you don't have to worry about recovering settings or re-installing applications. etc.
I prefer VMWare over Virtual PC for both performance and usability (keep in mind that's my opinion). You don't need the VMWare Workstation product to create a VM - check out EasyVMX here for a way to create easy VMs.
The one thing you'll miss though is VMWare tools which only comes with the Workstation product, not the player. But VMWare has this for download here - I'm unsure of the legality of this even though it's an official download from VMWare, you may only be able to use it if you have the paid product.
I actually have a license for Workstation, it's just an earlier version and I prefer the latest Player.

Related Links

software/solution for direct booting machine will 'wake on lan' another computer and log in virtual PC
How to connect 2 virtual hosts running on the same machine?
Virtual PC (XPMode) - Setting up Loopback Adapter for guest to talk to host
Windows Virtual PC Development Setup?
VirtualPC: Can't boot into anything
Virtual PC Hard Disk spanning multiple files?
Quicker way to create duplicate Virtual PC images?
Hyper V to Virtual PC
Copied virtualPC files, what do I have to change in settings?
What's the difference between SysPrep and NewSid?

Categories

HOME
service-worker
url-redirection
asp.net-web-api
api
paraview
deep-learning
c++11
nvd3.js
phpmyadmin
socket.io
rendering
alsa
cq5
maxscript
hpc
pearson-correlation
mvc5
crystal-lang
qpython
p2p
spin
vimdiff
openpyxl
automatic-ref-counting
cumulocity
capistrano3
firefox-addon
xmonad
mapstruct
sigma.js
nodemcu
breadth-first-search
rubymotion
gulp-watch
data.stackexchange.com
fat
angularjs-components
oculus
fractions
intersystems-cache
twiml
erb
instantiation
keras-layer
jwplayer6
xajax
docfx
reactivekit
cd
release
z-notation
protein-database
railstutorial.org
kill
mcustomscrollbar
http-request
dapper-simplecrud
vaadin-elements
servermanager
double-click
jboss-4.2.x
ovf
tinymce-3
corruption
carrot2
wpas
filehandle
dt
oozie-coordinator
trigger.io
offline.js
objectscript
bootstrap-tags-input
renaming
testrail
grails-plugin
tooleap
gogs
embedding
riot
findfirst
toast
phpgrid
crouton-os
vhosts
pypiserver
xvim
fuelcms
cgi-bin
mod-proxy
vacuum
entity-framework-4.3
ejb-2.x
administration
big-ip
getopt
mbunit
oocss
rolify
route-provider
mysql-error-2013
booksleeve
uimanageddocument
rmiregistry
lambdaj
koken
u2netdk
google-floodlight
django-paypal
diagrams
blender-2.49
soappy
xslcompiledtransform
contentpresenter
movieplayer
mathematical-typesetting

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App