Imagine being able to run your old DOS and Windows 3.1 games, utilities, and applications on your new Windows XP computer. Imagine having a way to contain spyware and adware so it can't access your private data or create annoying pop-ups while running in the background. Imagine being able to encapsulate questionable software downloads from the Internet that might be keystroke monitors, trojan horses, or virus carriers, so that you can run them without endangering your PC. Imagine being able to reinstall time-limited demo software so you can test it further. Imagine being able to install updates or multiple versions of the same application without conflicts--so, for example, you could try out KaZaA 2.1, KaZaA Lite, and K-Lite without corrupting your existing KaZaA 2.0.1 software. Imagine being able to install applications in such a way that they don't touch your registry or scatter files all over your system, and can be deleted absolutely and completely whenever you wish. Imagine setting up an alternate operating system on your computer--like Linux--without having to create a new partition and configure your computer for dual booting. Imagine a buggy application crashing with a "blue screen of death" that would normally bring down your whole PC--maybe permanently--but which you can instead ignore while your PC and its applications keep right on working!
Now stop imagining. Connectix Virtual PC for Windows lets you do all that, and more.
You may have heard of emulators, those clever programs you can run on your computer to simulate the hardware of a completely different type of computer. There are emulators that let you turn your powerful Windows PC into an Apple II so you can play classic old games like Choplifter and Lode Runner, or into an arcade machine so you can play the orginal Pac Man game, or even turn your Mac or Linux machine into a Windows PC so you can run...well, all that Windows software out there.
But, strange as it seems, the most powerful emulator of all may be one that lets you emulate a Windows PC on a Windows PC!
Connectix Virtual PC allows you to emulate complete Windows PCs, including sound and SVGA graphics, in their own windows on your host Windows PC. Each of these emulated PCs uses its own virtual hard drive, the entire contents of which exists as a single file on your host PC. Thus, assuming you're reasonably cautious in how you configure and use your emulated PCs, your host PC is insulated from anything that happens inside your emulated PCs, and your emulated PCs are completely insulated from each other. For example, if a trojan horse program running on one of your emulated PCs tries to delete everything on the entire hard drive, only that emulated PC's virtual hard drive will be erased--not the host PC's hard drive, or any of the other emulated PCs' virtual hard drives. If one of your emulated PCs crashes disastrously, your host PC and all your other emulated PCs keep humming right along.
Oh, and don't worry: You don't have to specify the size of the virtual hard disks beforehand. They're dynamically allocated, growing and shrinking as needed to contain the data on them. This is just one of the myriad little things Connectix got right.
Above is Virtual PC's selection menu. Here I have three emulated PCs set up: My "Windows 98 Clean Template" simply contains a fresh install of Windows 98. I never actually run it; instead, I copy it when I want to try out a new program with a clean slate. "Windows 98 Virtual PC" is the emulated PC I use for real work. I use it mainly to run Photofinish, a Windows 3.1 paint program that struck that rare, perfect balance of functionality and ease-of-use. Right now, its status is "Saved", which is much like "standby" mode on a PC. If I launch it, Virtual PC will return me to the exact point where I left off, as represented by the thumbnail screenshot shown. Lastly, "Xvid codec PC" contains the freeware Xvid video codec, which I wanted to test without endangering my host PC. It's also currently running K-Lite, which I wanted to try without disrupting my host machine's KaZaA installation.
Above is a Virtual PC window. I'm now running Photofinish in my "Windows 98 Virtual PC" at 640 x 480 resolution. (I normally use 1024 x 768, but I wanted this screenshot to be smaller.) Amazingly, I can simply "drag and drop" files between this window and my desktop; they're copied automatically between the host PC's real hard drive and the emulated PC's virtual one. Or I can share any folder on my host PC with the emulated PC; the folder is accessed like a drive, with the drive letter of my choice. But beware: folders shared in this manner aren't safe! A trojan horse on the emulated PC could actually delete files on the host, so you should only share folders with emulated PCs running software you trust. Otherwise, stick with drag-and-drop.
Speaking of which, many emulators are awkward when it comes to handling the mouse, forcing you to toggle between "host mouse" and "emulator mouse" modes. But Connectix Virtual PC for Windows includes "Additions" for Windows operating systems that allow you to move the mouse freely between the host and emulated environments. When the mouse crosses into the emulated PC window, it becomes the emulated PC's mouse. When it crosses out, it becomes the host PC's mouse. Mouse speed is automatically adjusted so that the transition is completely smooth. Just another of those myriad little things Connectix got right...
When I want to run in full-screen mode, I just hold down the Alt key on the right side of the keyboard and press Enter. In full-screen mode, Virtual PC's own drop-down menus and status bar aren't displayed, so my machine becomes indistinguishable from an actual Windows 98 computer. I use the same keystrokes to toggle back to windowed mode when I'm done.
From my experiences with other emulators, I mistakenly expected my emulated PCs to operate with only a tiny fraction of the speed of my host PC. After all, emulators normally work by laboriously loading each instruction from memory, looking it up in a table, and executing multiple instructions to simulate all of its effects on virtual registers, memory, program counter, stack pointer, etc. But because its host PC uses the same processor as it is emulating, and because modern x86-architecture processors have extensive multitasking and event-trapping capabilities, Virtual PC for Windows is able to "cheat", making the processor directly execute instructions. Getting this to work with emulated devices like sound, networking, and video cards must have been a herculean task, but Connectix somehow accomplished it. As a result, Virtual PC runs applications very quickly, sometimes almost as fast as if the host PC were running them directly!
My host computer accesses the Internet via a shared DSL connection through a router. I was astonished to find that I could enable Internet access on my emulated PCs by changing a single setting in Virtual PC: In the "Edit/Settings..." dialog box, I selected "Networking" and clicked the "Shared Networking (NAT)" button. Call me a pessimist, but I expected it to be much more difficult than that! (Sorry, but I have no way of testing dialup access with virtual PCs.)
Even the best products have a downside. The basic Connectix Virtual PC for Windows software package requires but does not include any operating system. So, for example, if you want to emulate a Windows 98 computer, you'll need a Windows 98 installation disc. And yes, you need an installation disc even if the OS you're emulating is the same as the one that's running on your host PC! Worse, the "recovery disc" bundled with many computers probably won't work; you need a generic, plain-vanilla operating system disc. I used the OEM Windows 98 disc from a defunct "white box" PC. If you don't have one, Connectix makes convenient OS Packs with virtual hard disks already set up and ready to go.
Despite its snappy performance, Virtual PC might have difficulty with intense multimedia applications. For example, when I tried playing high-resolution videos in Virtual PC, I heard a bit of stuttering in the audio. Also, since Virtual PC emulates the old S3 Trio video card, it definitely can't run games that require 3D acceleration. Furthermore, you can't access your USB or IEEE 1394 (Firewire) ports from your emulated PCs, and I doubt they could utilize exotic add-ons like PCI video capture boards or DVD burners. Finally, bear in mind that I'm just a home user myself, not a professional reviewer, so I haven't done extensive benchmarking or torture-testing of this software. I use it daily and it works reliably for me, but your mileage may vary. I take no responsibility if in some way Virtual PC doesn't live up to your expectations based on this review.
Connectix's marketing has apparently targeted Virtual PC for Windows primarily at IT departments
as a solution for problems with running legacy software or alternate operating systems on
corporate computers. I think they're missing
the big picture. Though it may be a bit pricey for personal and SOHO use, it's worth every penny.
I got Virtual PC for a single "killer app": running the Windows 3.1 program
Photofinish. To my surprise, Virtual PC turned out to be one of those elegantly designed and
implemented utilities that I now can't imagine living without. It should have been a part of
Windows XP. Connectix Virtual PC for Windows is a masterpiece.
to the Rants, Raves, and Reviews main page
to The World of the Wondersmith