The Problem: Conflicting Products and Operating Systems
I’m a fairly techie guy, and I work with a lot of different desktop software products. Sometimes these products don’t get along with each other – installing one interferes with another. Some of them only work with certain versions of Microsoft Windows. Then, of course, since I am working with Microsoft Windows, the longer I use a computer and the more software that I install and uninstall, the “dirtier” my computer gets, the slower it runs.
One of the problem products that I work with is QuickBooks. I need to have many different versions of QuickBooks available for the work that I do. I am a Certified Advanced QuickBooks ProAdvisor, and clients come to me with QuickBooks files that have problems that must be resolved. I am a developer of QuickBooks add-on products, so I need many different versions of QuickBooks to be able to test for compatibility. Because of all this, I need access to QuickBooks versions from the US 2005 release through the current release, as well as versions from Canada, United Kingdom, and Australia. These can’t all exist in one system. You can’t mix US and non-US versions of QuickBooks on one computer, and some older versions of QuickBooks don’t run well on current versions of Microsoft Windows. It’s a mess!
The Solution: Virtualization with VMWare Workstation
My solution to this is to use a “desktop virtualization product” to maintain different copies of “virtual machines,” each with it’s own copy of QuickBooks. I use VMWare Workstation and a high-performance computer. This has been a lifesaver for me, with my highly technical requirements, but it also can be useful to many accounting professionals who need access to older versions of Windows, access to older versions of QuickBooks, or who just want to keep their computer system clean.
“Virtualization” is a term that’s thrown around a lot, and it means different things in different contexts. In this specific case it refers to using a program that lets you create a “computer within a computer.” It creates a “copy” of a computer system that is self-contained as a file on your primary computer.
There are many different products that can provide this feature to you on your desktop. I prefer to use VMWare Workstation because it’s the most flexible and reliable system that I’ve found.
With VMWare Workstation, you can install many different operating systems in different virtual machines that reside on your host computer. I have copies of Windows 8, Windows 7, Windows Vista, Windows XP, and even Windows 2000, all which are accessible from my primary Windows 7 computer. I can even have both 32 bit and 64 bit versions of the operating systems, if I need to test compatibility there.
Setting up a virtual machine is simple, if you’re familiar with installing Windows on a computer. There is a “wizard” that will lead you through the steps. You just need a CD with the target operating system and a license (see Figure 1).
Figure 1: Installing Windows as a virtual machine
After this initial setup, you go through the normal installation steps for the operating system you’re working with. The difference is, you are installing this into a separate “file” on your computer. The virtual machine has its own disk storage that’s separate from your “real” computer. It has access to your computer’s hardware (CD drive, floppy drive, network, USB ports, display, and sound
Figure 2: Windows XP Virtual Machine on Windows 7
As you can see in Figure 2, I have my main Windows 7 computer, running programs like QuickBooks, and in a separate window, I’m running a copy of Windows XP.
Snapshots
One of the VMWare Workstation features that I use extensively is “snapshots.” At any time, I can take a snapshot of the current state of the virtual machine and save it. I can later go back to this snapshot and restore it. It’s very similar to working with a backup copy of a database.
In my business, I need to keep copies of the different “revisions” of QuickBooks. As you can see in Figure 3, I have snapshots of revisions R1, R3, and R4 for both Premier and Enterprise (as well as several other snapshots where I’m testing out add-on products and features). This is just one virtual machine, so I only had to set up the operating system and disk space for this one time. I can move from one snapshot to the other just by clicking on the appropriate icon in this display.
Figure 3: VMWare snapshots
In Figure 4, I have a portion of a snapshot tree in a different virtual machine. Here you can see that I have snapshots for the Australian version of QuickBooks 2010/2011, US Enterprise 11, US Premier 2011, and US Premier 2010 (and more, not showing in the snapshot). I create a base virtual machine in a particular operating system and take a snapshot. I then install a copy of QuickBooks (let’s say, the US 2013 version), register it, and take another snapshot. I go back to the base virtual machine, install a different copy of QuickBooks (let’s say, the UK 2013 version) and take a snapshot. Every time I get a new product, I install it and take a snapshot. Then, I can switch between different versions easily.
Figure 4: VMWare snapshot tree for QuickBooks
Benefits of Virtualization
I depend on VMWare heavily, and the benefits I gain are:
- I can keep a test installation (such as a beta test) completely separate from my “real” computer. This is a major advantage because often we find that beta test copies of QuickBooks can interfere with older versions installed on the same computer.
- I can manage different national versions of QuickBooks. You can’t install a Canadian version on your main computer with a US version because they won’t work together. Virtual machines keep them separate.
- A variation of the prior point, I can install many different software products without worrying about how they might interfere with each other or clog up my Windows registry with all kinds of junk. Sometimes I have products that I want to run that add too much overhead to my primary computer system. They might have a syncing engine, they might not work well if other products are installed, or they might have special requirements that I don’t want to implement in my primary system. No problem; I just install them in a virtual machine, and they’re totally separate from everything else!
- Virtual machines are portable. Some of my virtual machines were created back when I was running Windows Vista. When I upgraded to Windows 7, I didn’t have to keep the old Vista computer around or try to reinstall old QuickBooks software on the new computer and operating system. I just moved the virtual machine files to my new computer and did some minor updates.
- Snapshots let me capture the exact “state” of a system when I’m testing. This lets me go back to a prior state if I do something that creates a problem with a file, or I can restore a system when I’m trying to duplicate a problem that I’m testing.
- This allows me to run software that is only compatible with Windows XP, or an older version of Microsoft Office, even though my current computer is running Windows 7. In an earlier article I talked about how Windows XP is being retired by Microsoft, but that some people need to keep XP systems around so they can run legacy software. With VMWare Workstation, I can set up a virtual Windows XP system that can run my old software, but it doesn’t have to be connected to my email system or the Internet. That protects it from the possibility of being hacked by some new security vulnerability.
- I can open multiple virtual machines at one time (depending on how much RAM I have), so that I can have multiple copies of QuickBooks open simultaneously.
- I still prefer to run Windows 7 on my primary system. I can still play with Windows 8 without buying a separate computer, by installing it in a virtual machine.
Yes, I’m aware you can use Windows XP Mode on Windows 7 to run older software, but you don’t have snapshots in Windows XP Mode, and I’ve found that the files in Windows XP Mode can easily become corrupted and unusable. There are other virtual machine products available, but none of the ones that I’ve tried work as well as VMWare Workstation.
Requirements to Implement VMWare Workstation
This isn’t the simplest product to work with, in some ways. It does take a bit of time to get used to, and it ends up being a bit expensive in some cases. It all depends on what you’re trying to accomplish and how fast you want the virtual machine to work.
I’ve been using versions of VMWare Workstation ever since I was working with Windows XP as my primary system. You can get it to work on a older system with limited RAM and disk space, but to get the full benefits, you should consider investing in a fairly high-grade computer system. My recommendations are:
- A system with a 64 bit processor. This allows you to work with both 32 bit and 64 bit versions of Windows, it runs faster than 32 bits, and it allows access to more memory.
- Use Windows 7 Professional (x64) or a 64 bit version of Windows 8 on your primary system.
- Install as much RAM as you can afford. If you have a small amount of RAM, then slow performance is going to be an annoyance. I currently use 12 GB of RAM.
- Save your virtual machines on a separate, large hard disk drive. Aim for a terabyte. Snapshots take a lot of disk space, and you’ll find that you make a lot of them.
VMWare Workstation is available for $249 per license. Note that you also need a licensed copy of any Windows operating system that you install on a virtual machine.