By now you’ve probably heard of software like VMWare and Virtual PC – two programs that let you install “virtual computers” on your system. If you have some old program that only works in Windows 98 or NT 4.0, you can install either VMWare or Virtual PC and boot into a “virtual machine” to do what you need. Likewise, many people that want to learn Linux but need a working computer for day-to-day work have used virtual machine technology to get their learn on without the fear of screwing something up their machines.
But while virtual machines are nice and all, they’re not perfect. No matter how fast your computer is or how much RAM you have, you still have to wait for the virtual machine to boot up before you can use it. And moving data between a virtual and physical machine can sometimes be problematic. And let’s face it, virtual machines are simply overkill for a lot of applications. After all, needing Windows 98 for one particular program is one thing, but why install a virtual copy of Windows XP on top of a real version of XP?
Let’s say that you’re a helpdesk guy at Company X. Company X uses some home-grown software for inventory management (or order tracking, or help desk ticketing… pick something). The company is testing a new version of the software, and being one of the IT guys, you are first on the list to test the new version out. This can be fun sometimes, but it’s absolutely NOT fun when you need the application on a daily basis and simply cannot be without it. You could install Windows XP into a virtual machine on your computer, but perhaps the performance isn’t up to snuff. Or maybe you’re not allowed to put a virtual machine on the network. Whatever.
Imagine instead creating a “virtual layer” on your own system. This layer would contain a virtual file system and virtual Registry, so that when you installed a program to the layer, your actual computer – that is, the real file system and Windows Registry – would be left alone. So you could (in theory) install a beta program like Office 2007 to a virtual layer whilst leaving Office 2003 intact and untouched on your system. So when you want to run Office 2003, you do nothing special. When you want to run Office 2007, you start a console program and load the “layer” you need. The program inside the layer – which was completely absent from your system before – now appears in your Start Menu and the files in question appear in the place you would expect them to be inside the “Program Files” folder. And even better, once you have the layer set up correctly, you can even distribute it to others that have the software installed, just as you can distribute virtual machines with VMWare or Virtual PC.
This program is not a dream. It’s called Software Virtualization and the most popular version is by a company called Altiris. To make things even sweeter, they now offer their “Software Virtualization Solution” free for personal use! You can download it free of charge by clicking here. Note that you will need a license key – you will be prompted during setup to get one via a link provided. Beware though that creating new layers isn’t simple, so read the enclosed documentation thoroughly. You might also want to download some of the “virtualized” open source programs offered at the SVS download site to get a quick taste of how SVS works on your system. And lastly, know that the SVS software doesn’t work in every instance. The “deeper” the software you want to virtualize hooks into a system, the less likely it’ll work in a virtual layer. Device drivers, antivirus software and most CD\DVD burning software doesn’t fare well under SVS. The main reason I downloaded the software in the first place was for one particular feature of Roxio’s Easy Media Suite 8.0 (the music DVD software, if you must know). Despite the fact that I had selected only the music software (and the jewel case creator, which cannot be unselected during setup), it just didn’t work. I’m going to try again soon, and if it works this time I’ll post about it here.