The first thing we need is a machine running Windows 7:
Ideally, you will be setting up a Windows 7 x86 (32-bit) as a VM.
In this project, I will use VirtualBox with the Extension Pack - do note the latter is not open source, read the terms - on a 2015 MacBook Pro as host.
x64 Windows 7 won't work in VirtualBox, EarthSiege crashes during start-up. No idea why, a physical x64 Windows 7 should run EarthSiege just fine - if I were to guess it's some issue in the x64 GPU acceleration.
Windows Vista and earlier can be used, but GPU acceleration support is shoddy at best
Windows 8 and later don't work at all, as Microsoft in all their glory decided they needed to remove DirectDraw support. There are hacks available, I haven't tried them and to be honest I don't care, Windows 7 was the last decent OS that Microsoft made anyway.
Download and install VirtualBox
Obtain a Windows 7 SP1 ISO and (if you plan on using the VM longer than the trial period, a valid license key) from somewhere. There used to be Digital River direct download links, but as Microsoft discontinued Windows 7 official support, they also deleted the ISOs. Please check the MD5 hashes to ensure you've obtained an unmodified version:
x17-59886.iso is the x86 German ISO, MD5 f42b425a2c5e4e2ed52b3f4ea9e4b1b7
x17-59885.iso is the x64 German ISO, MD5 50546c36cb2d1de47c2eed058a2a067a
Install Windows 7 following the VirtualBox guidelines
System
30 GB HDD
2 GB of RAM or more
ICH9 chipset
USB Tablet pointer
IO-APIC active
CPU
1 CPU only. Do not use any kind of multi-core in VirtualBox, especially not on Macs. If your startup chime sound stutters, double-check you're not having multi-core set up. Seriously. I spent weeks with stuttering audio, video and input lags.
PAE/NX active
Acceleration
Hyper-V paravirtualization
Nested Paging active
Display
128 MB VRAM
1 screen
200% scaling factor
VBoxSVGA GPU
3d acceleration active
Set up some shared folder to exchange files between host and guest
If you want to play ES2 with an USB joystick/gamepad, set up a passthrough filter (this will automatically grab the joystick from the host when the VM is started, and released when it is stopped)
Install the VirtualBox Guest Addons
Obtain and install the following updates from the Microsoft Update Catalog in the appropriate version and in exactly the specified order to get Windows Update running (MS changed their signature hash algorithm since the SP1 release, without these updates Windows won't be able to connect to the update server):
KB3020369
MD5 (windows6.1-kb3020369-x64_5393066469758e619f21731fc31ff2d109595445.msu) = e6a3b05da24a0500377c68a80da13a0d
MD5 (windows6.1-kb3020369-x86_82e168117c23f7c479a97ee96c82af788d07452e.msu) = dc5149a5b120ec2b79f42558ffaf5290
KB3125574
MD5 (windows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd4b1264cd93b9.msu) = 65f843d233ba6f0267412a5066c6f60f
MD5 (windows6.1-kb3125574-v4-x86_ba1ff5537312561795cc04db0b02fbb0a74b2cbd.msu) = 2221a57fde7a0b3b063e244b04a46137
KB4490628
MD5 (windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu) = c4d6fb715cb1dccbd287f03e272ac966
MD5 (windows6.1-kb4490628-x86_3cdb3df55b9cd7ef7fcb24fc4e237ea287ad0992.msu) = 0698531df562ebe22591f9e73fb5f0e2
KB4592510
MD5 (windows6.1-kb4592510-x64_2798f0d248e08c292076980d2b954e6e1f2c8f99.msu) = 1aa37e07ae760b3de0fa0747ce9c21bb
MD5 (windows6.1-kb4592510-x86_6d69f2bf51cacf9638c9fc9b24502b4380b4f677.msu) = 7d1e5c8199d5d763bbca60287c86bf27
Run Windows Update until it is satisfied, reboot as needed
If applicable, activate Windows
Create a snapshot so you can always roll back if needed