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.
-
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).
-
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.
-
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.
-
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.
-
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