I remember having this problem before, but I can't remember how to fix it.
I have a shortcut to FH2.exe with Win XP S2 compatibility, running in admin while logged in as admin on Vista 64. When I launch the shortcut (or FH2.exe directly in admin), I see the BF2 banner pop up, but nothing happens (it doesn't launch or start). The BF2 banner remains, and attempting to end the BF2.exe process accomplishes nothing. I have to force-restart my computer if I want to shut down/restart or try to launch it again.
Anyone have any ideas? I even updated the Punkbuster files manually, added +restart to the shortcut target, etc... I've looked everywhere and tried everything, but I think the original solution was on the old forums (which are now gone).
Thanks to Lightning's help, here's a solution that will help bypass the need for fh2.exe to overwrite shaders in Vista:
<[FH]Lightning> In your Battlefield2/mods/ you have 'bf2' and 'fh2'.
<[FH]Lightning> You need to go into 'bf2' and make a backup of 'shaders_client.zip'
<[FH]Lightning> Then you copy the shaders_client.zip from 'fh2' and move it into 'bf2'.
<[FH]Lightning> Your BF2 then uses the FH2 shaders.
<[FH]Lightning> That means FH2 will look ok, but you may get odd effects in BF2 or other mods.
So there you have it. Lightning is a genius and I can now play!