Get Battlefield 1942 running on a Windows 10 PC.
I spent some time debugging and setting up Battlefield 1942 for gameplay in two formats - a virtual machine that could be distributed and run on any modern computer, and natively on modern incarnations of Windows such as version 10. The files and links below focus on the latter, a virtual machine is still in the works.
Install Battlefield as you normally would have in 2004. Don't try running it though when it's done. There are a few things you need to do to get it running on Windows 7/8/10. Mount the .iso files linked above to install with your keys.
Run the patch to get the latest official patched version of the game with the latest bug fixes that EA officially published. The Punkbuster service in BF1942 will run into errors when the server is no longer accessible which is the case now so the punkbuster executable sets up the service on your local machine which alleviates the need to connect to a central service. Configuration of your game server is up to you and your preferences regarding punkbuster but this allows you to play online.
Download the Punkbuster Patch →
EA took over GameSpy as it grew as a game giant and this was a sad day when it decided to shut down those services. The patched files replace master.gamespy.com with master.bf1942.sk, a server that operates the same software (as of 2017), as well as makes little things a little easier like a widescreen fix, no-cd patch, and other neat fixes.
If you set up battlefield on Windows XP or 2000, you shouldn't need to go in and make some of the more technical changes since these services aren't available yet. Install and patch with the Team SiMPLE patch and you should be good to go. The punkbuster service may work, I've had success and a lot of issues, seemed like the luck of the draw in most cases.
Windows 7/8/10 - You need to go into the install directory and set both Blackscreen.exe and BF1942.exe to run as Administrator and with compatibility for Windows XP Service Pack 3. You can do this by right-clicking on the files, click on properties and make the changes in the compatibility tab. Apple and click OK to save your changes.
You might also need to set up directplay which is a legacy Windows feature in Windows 10. You can do that in Programs and Features, see a video here.
Those steps followed by a restart before initially opening BF1942 for the first time got me up and running without issue.
All done, let's play!