Its really amazing how weird the fixes are for these older games. I had the following problems and used the same fix for NOLF 2 and contract JACK. At first just to be able to get the programs to run (either one) i had to run in win 98 compatability, as this was the only mode that would get it to run, however it wouldnt detect my video card and tried to run in software mode, causing the interfaceresmgr problem, so my ultimate workaround for this problem, and for making these games run on win 7 is as follows (sounds weird, but it works trust me)
1. Right click lithtech.exe, hit properties, then compatibility tab, select run in compatibility mode for win 2000 and then further down select "run as administrator"
Do the same for NOLF2.exe or contractjack.exe whichever you want to work
At this point you may think you have tried this before but just do the steps exactly and watch the results
2.Make sure you hit apply and then double click nolf2.exe or contractjack.exe. you should get the half loading cursor for a couple seconds and then nothing happens. But if you check your task manager under processes youll notice that the processes for the executables has started, either nolf2.exe*32 or contractjack.exe*32
(Right click any open space on your start bar and hit start task manager or use control+alt+delete, task manager will be the on the bottom of the list). Do NOT end the processes.
3. Reopen the properties for both lithtech.exe and NOLF2.exe/contractJACK.exe
4. Turn OFF "run as administrator" Leave compatibility for win 2000 ON. Hit apply and ok.
5. Double click nolf2 or contract jack and it should now run perfectly.
If you noticed the trick is to leave the originial failed exe process running, something about the old one still being there makes the second attempt work. Dont ask me why but this is absolutely the case, and ive seen it happen with at least 2 other games on my system, Far Cry 1, and Magicka, and can recall it happening with other games I cant remember, I just remember that while trying different things, I could get the games to work on the second try, but never on the first, after studying this effect I noticed it was because the first attempt started a process that remained there during the second attempt, somehow making it successful (shrug) totally crazy right. If you want after you get the game to run successfully you can control+alt+delete and end process the originial .exe, youll know its the original because it wont be using any cpu or memory. You can now end it safely and the game will keep running. Dont forget to end task it at some point or it will remain there until you restart or shutdown as quitting the game will only end the second instance of the exe.