Try this...update all this just to be safe..then reboot PC..
Latest version of DirectX see this page
http://www.microsoft.com/en-ca/download/confirmation.aspx?id=35
Reinstall Microsoft C++
http://www.microsoft.com/en-gb/download/details.aspx?id=30679
Update your Microsoft .NET framework.
http://www.microsoft.com/en-ca/download/details.aspx?id=30653
Adobe Flash Player update
http://get.adobe.com/flashplayer/
Reboot PC and test BF3 if it fails then try repair game reboot PC and run repair game a second time then test BF3 again.