UPDATE Feb 18, 2011 : The patch is no longer needed when using the latest Steam’s EXE, but for retail you will have to patch it manually with the HEX editor: replace (CTRL+R) the HEX String “00 6A 21 00″ with “00 00 00 00″.
Last friday I purchased the Rockstar Complete Pack from Steam because I couldn’t resist the 50% off offer, and everything was fine until I tried to play Manhunt or Midnight Club 2.
It dindn’t occur to me to check if all the games were compatible for Windows Vista before purchasing, so I had to find a solution to the them run without crashing.
I found a great patch for Manhunt that can be found here, but I still had the problem with MC2.
People suggested to disable DEP (Data Execution Prevention) to make it run, because the problem is that DEP blocks the game from running, but I didn’t like the idea of disabling it just to play a game, so I went out to find a better way.
It turned out that the problem is that the .EXE reports that it’s compatible with DEP, but it isn’t, so that results in an instant crash. After a few tries I found the string on the .EXE that disabled DEP and I was finally able to play MC2 on Vista without disabling DEP.
I have made a patch will automatically update your mc2.exe installed by Steam to make it run on Vista and Windows 7 without disabling DEP.
Download here: mc2_vista_patch
Credit goes to Ryan Govostes for his amazing code and investigation.
Note: it will also work on any other installation if you specify the path.
The simplest way is to create a shortcut for MC2_Vista_Patch.exe, go to it’s Properties and on the Targed box, paste o type the path to mc2.exe following the patcher location.
Here you have the instructions to make the fix yourself if you want to:
1. You will need XVI32 (a HEX Editor) that can be downloaded from here.
2. Once downloaded you have to run it and open your mc2.exe
3. Then press “CTRL+G” and select Go to —> Hexadecimal and type “95E”
4. Now go to Edit / Overwrite String and type “00 00”
5. Now Save the file and it will load without disabling DEP.