Found this after a quick google
After much frustration with trying to launch BF2142 after EA updated that damned Link program, I found a solution. Basically before, I would try to launch the game, and I would get a brief hourglass, and then nothing. No game launch, no flicker, no nothing. There was a partial solution on the 'net somewhere, but this is what got it going for me in full. This is a cut and paste from another post in this forum:
1) Go to your BF2142Pace.exe file... Right-click on it and select the compatibility tab, and run the program in compatibility mode for Windows 2000...
2) Load the game by clicking on the BF2142Pace.exe file (I presume one needs EA Link going for this, but whatever). Sure now we can load the game, right! Excellent! But then, joining a server gives a "Invalid CD Key" error, and the CD Key fixes that EA has released actually do not work (WTF?)
3) Go BACK to the BF2142Pace.exe file and now UNCHECK the "Run in Compatibility mode" box (so it runs in the normal XP mode). For SOME reason, the game will launch now (?!?) and you can play online. At least this worked for me, and worked for someone else on another forum. I haven't as of yet seen the entire fix in one place yet (hopefully this is it!)