I'm coming back to this post about 15-30 minutes later, and I've managed to get the game to boot, finally.
Problem: Battlefield 1 won't launch from Steam or EA launcher, purchased on EA and on Steam afterwards.
I completely uninstalled the EA launcher, Origin, and Battlefield 1. Then, I reinstalled Origin, only Origin, and Battlefield 1 on Steam, BOTH ON THE SAME DRIVE. For some reason, this setup has worked. I have no idea if installing them to the same drive is the solution here, or if it's some random computer nonsense (It's the Origin launcher, it's equally plausible), but that has not only allowed my game to be launched, but it's even migrated all the achievements I got to Steam, which is nice. Plus, it doesn't launch anything intrusive like the EA app does. I've got no idea if this adds to anything, but I've also got the Origin launcher just open on my desktop. Not doing anything, I just forgot to close it, but that might be important, since it's EA's software. I'm glad to have resolved this after 12+ hours of troubleshooting and research, I just hope this helps others too. Absolutely terrible that I, as an end user, need to do all of this to try to work around a problem that I cannot directly solve. It is 100% a fault on EA's part, nothing I have done or you have done. The mistake I made was purchasing the game on the EA launcher in the first place. The EA launcher is terrible, and I highly encourage you to uninstall it and reinstall Origin.
Edit number 2 because the problems will never ever end.
It didn't launch the next time I tried to boot it up, closing origin and booting from steam seems to have made it work. Also, the problem has now extended to Battlefield 4. 🙂
Original comment was below
I appreciate this information, I have had the exact same problem as you (owning the game previously on EA, then buying it on Steam - only for it to fail to launch)
I tried this as the first thing, and so far, it hasn't worked for me. However, doing this on Origin completely deletes and reinstalls the files, just a heads up for other users in case you may be thinking to do this. It says that it's repairing, but afaik, it deletes everything, and it takes ages for it to reinstall, I'm talking 3 to 4 times as long for absolutely no reason. Oh, plus cancelling the repair deletes all the files so 🙂
I'm currently reinstalling the game via steam, if I cannot get this trick to work through the EA launcher, and I can't get any of the suggested compatibility/administrator fixes working either, then I will have exhausted all my options.
For those wondering, this has been my entire day:
-Battlefield 1 installed via EA launcher
-Purchased the game via Steam
-Moved "Battlefield 1" folder OUT of "[drive]/EA Games/Battlefield 1" and INTO "steamapps/common/Battlefield 1" -- didn't work
-Uninstalled Battlefield 1 via deleting the files, and later on, completely deleting it from EA launcher's eyes by using Control Panel > Uninstall a program (for those wondering, the steam version of BF1 is called "Battlefield 1 tm" (with that exact spacing), where as I believe the Origin/EA version is called "Battlefield(tm) 1")
-Reinstalled Battlefield 1 through Steam, which took a good few hours -- Didn't work
-Tried setting the install of the EA version to the location of the Steam version - Didn't work
-Uninstalled EA launcher and installed Origin -- Didn't work
-Tried setting the Origin install location to the Steam location - Didn't work
-Tried repairing Battlefield 1's files via Origin - Didn't work
So, as of right now, I'm installing Battlefield 1 on Steam again, and I have no idea what I will do if it doesn't work. I just want to play with my friends.
I was going to ask EA's customer service to remove the copy I own on Origin to see if that works, since I feel like that's the problem here, however the customer support is a 72 hour wait via email. No thank you, I don't feel like waiting up to 3 days for a response of "we cannot give you a refund and we also cannot remove it from your account, sorry!"
I despise using the EA launcher and Origin, and I bought it on Steam so I wouldn't have to go through the hassle of using a separate launcher every time I want to play Battlefield 1, and now this.
I hope that some kind of customer support rep sees this, because this is Uplay levels of garbage. I have an easier time making some jank russian game from the early 2000s run on modern systems than I have had with goddamn BF1, a game that's barely 6 years old. This is clearly a massive issue, and needs to be fixed. There shouldn't be any kind of auth problem, since both launchers (EA/Origin and Steam) offer the same copy of Battlefield 1 - the "Revolution Edition". This isn't a unique to a launcher edition, so this problem should not be happening. Pull your fingers out and fix this issue that's clearly plaguing a lot of your userbase.