I've just completed my second of 3 (ultimately) upgrades from windows XP to windows 7.
For the first machine i just followed the standard Microsoft line and did a custom install "over the top" of XP. This takes your existing setup and stores it in a windows.old folder on the new machine running windows 7. You are then free to do with that folder what you will (such as delete it). This was ok on my first laptop as I'm just using it as a windows 7 media centre - didn't need my old stuff.
However, for my next (main) machine, that wasn't the case. It's the main machine that I use for all my personal work, which includes a lot of image creation and production (more on that in a later blog). I absolutely could not afford any downtime nor a whole weekend or more of solid copying and re-installing. (A process which from experience drags on and on for weeks in my experience.)
Thus the promise of a smooth migration, keeping all the existing XP setup alongside windows 7 was sufficiently tempting for me to take up. The system is called zinstall XP7 and you install it after you have done your windows 7 custom upgrade (keeping your old files in windows.old). When you install zinstall it wraps up all those old files and creates a fully functioning virtual machine of your old installation. Absolutely everything remains intact, all programs work correctly and all data is preserved.
In use the system places an icon in both the windows 7 system tray and the XP system tray (is it just me that finds it quite clever it can install itself into an operating system that has been replaced?). Double clicking this icon allows you to switch between windows 7 and XP. XP is displayed full screen, even though it's running in a virtual machine and could theoretically run in a windowed container (I intend to try this). Presumably this is to make it less confusing for novice users - zinstall describes its mode of operation as "TV Channels" - which makes it easy to understand.
You can copy and paste between each system with ease, and see the file system on each system for moving files between the two.
So what's the point of all this? Well - it means you can get windows 7 up and running, but keep your old system running in parallel - allowing you the time (as long as you want) to re-install and move applications and data to Win7. And if you have applications that will only ever run on XP, then you can keep them running indefinitely.
It should be noted this is not the same as Microsoft's own "XP Compatibility mode" which consists of their own VM container ("Virtual PC") and a specially licensed copy of XP to run in it. The hardware requirements for their solution are stricter and you get an empty XP which you have to get your programs and data back into. This compares starkly with zinstall which is a one-click process and retains everything as is.
After 3 days, I'm giving zinstall a big thumbs up.