How to run Windows Programs

when all you have is a Mac

Many of the assignments in my classes are "machine-agnostic", meaning that they can be solved on either a PC running Microsoft Windows™ or on an Apple Macintosh™. This is true, largely, for Microsoft Office products such as Word or Excel, Adobe Photoshop, the JES Python 2 development environment, or the more modern Python 3 environment.

I write a lot of software, and a lot of that is intended for use by my students. Unfortunately, many of my programs were written in an older version of Borland Delphi (now Embarcadero), and those programs only run under Windows. Newer versions of Embarcadero Delphi support both Windows and Macs, but the costs of the development tools are prohibitively expensive. Sorry, gang, I can't afford it. To address this, I have recently switched over to writing programs in Free Pascal running under the Lazarus development environment, which does allow for the creation of programs that run on both Windows PCs and Macs, but the conversion process takes a long time. Hence, a lot of my programs still only exist for the Windows platform.

So, what is to be done when a Windows program must be used, but a Mac is all that is available? Turns out there are a number of possible solutions.

  1. Buy a Windows PC. This can be an expensive option, and I don't necessarily recommend it, but there are a number of relatively inexpensive machines available ($200 and up, typically).

  2. Find a friend who will loan you their Windows PC. Inexpensive, unless the friend insists on equivalent payback, and you do have to find the right person from which to borrow a machine.

  3. Use Bootcamp and install Windows on your Mac. Bootcamp is available already installed on modern Macs, and can be used to install guest operating systems, but you do have to buy a copy of Windows. On a machine so configured, you start up the computer as either a Mac or a Windows PC, but not both at the same time. When booted as a Windows machine, programs will run at the native speed of the computer.

  4. Install a virtual machine (VM). A virtual machine provides an environment on the existing host computer to run a guest operating system at the same time as the host. Two of the best known VMs are Parallels and VM-WARE. Both cost some money, AND you also have to buy a copy of Windows, but once configured you can run a Windows program in a window on the Mac desktop. All programs written for Windows will run just fine, but you take a performance hit by running two operating systems on the same hardware at the same time. Parallels has recently (September 2013) been criticized for a recent update that automatically installs software on the host computer even if the user opts out.

  5. Install an emulation layer. This is a software tool that is not Windows, but fools a Windows program into thinking that Windows is present. One of the best known is Crossover. Like a VM it does cost some money, but unlike a VM you do not also have to purchase Windows. The main downside is that because the emulation layer is not a true version of Windows, it may not be 100% compatible with Windows - that is, not all Windows programs will run, and those that do may have some problems or misconfigurations. Most will run OK, or well enough to be useful. (All my Delphi programs run under Crossover, some better than others.) There is also a performance hit incurred here.

What you end up using is ultimately up to you. Where do you want to spend the money? How much performance are you willing to give up? Are you OK not having full compatibility, or must your programs run with absolute 100% Windows compatibility? Is it necessary to run both Mac and Windows PC programs simultaneously? There will be a "best" solution for each of us, but no single solution that is best for everyone.

Copyright © 2013-2019 -- Dr. William T. Verts
Version 1 © September 8, 2013
Version 2 © January 21, 2014
Version 3 © September 5, 2016
Version 4 © September 9, 2019