Command and Conquer: Generals not launching on Windows 7 64-bit

backwards compatibilitycommand-and-conquer-generalswindows 7

I've tried a large number of solutions to the problems that 64 bit Windows 7 has with Generals and Zero Hour, to no avail. I've been trawling all over the internet for a fix for my problem.

To wit, I've properly created the options.ini file with proper file type as well as altering the resolution to match my desktop resolution. I have changed the properties on the game launcher to grant it admin privileges and run it with XP 3 compatibility enabled. I have changed both the base install folder and the data folder in documents to disable read-only access.

Notably, I have not been running into the same errors as everyone else I have been reading as running into. My problem is that before granting permission to run in XP 3, the game explicitly tells me it could not launch and to try running it in an older compatibility. After enabling this, attempting to launch the game simply does not work, no error report or anything. Generals.exe simply vanishes within a few seconds.

There are a lot of other fixes I have tried but cannot remember for their comparative obscurity. I updated directx to be sure, and my graphics drivers are up to date though after an issue installing an update a month ago my driver kernel occasionally freezes up while I am watching videos in my browser.

I'm clueless as to how to get Generals working. I would really love to have it running so I could play some of the excellent mods for it.

Best Answer

The reason that this game no longer works is outlined by the other answer and this other question on Arqade. Basically there was a security hole in Windows 7 and 8 that Microsoft patched that makes certain write protection not work anymore. There is a simpler and safer solution to the problem than the one outlined in the other answer though (note that there is no workaround for Windows 10). First, open a command prompt as an administrator:

Windows button -> cmd.exe -> right-click -> Run as administrator

Run this command (with the exact spaces) to reenable the driver's service:

sc config secdrv start= demand

You should get a [SC] ChangeServiceConfig SUCCESS message. Then run this command to start the service:

sc start secdrv

Then open the game and it should work! You'll have to start the service every time you want to run this or any other CD-based game with SafeDisc or SecuROM, and you'll probably want to stop it when you're done to reduce security risks.