Forum Discussion

rookie7799's avatar
rookie7799
Rising Novice
1 day ago

Could not start, please verify that you have the latest version ... EA App

**[Workaround] BF3 Steam version: "Could not start, please verify that you have the latest version and can start the game from EA App" when joining from Battlelog**

If you own Battlefield 3 on Steam and every Battlelog Join ends with *"Could not start, please verify that you have the latest version and can start the game from EA App"*, even after repairing, reinstalling, verifying files and so on, here's what's going on and a workaround that got me back into servers.

---

### What's actually broken

I went through the EA App's logs (`%LOCALAPPDATA%\Electronic Arts\EA Desktop\Logs`). The game files, registry and account link were all fine. The problem is in how the EA App hands the launch over for Steam copies:

1. When you click Join, the EA App approves the launch and generates a one-time launch code. It then waits up to 15 seconds for its Steam helper (`EASteamLauncher` → `EASteamProxy`) to start the game with that code. That helper has already closed itself about a second after Battlelog opened, so nothing picks up the request. The log shows `Proxied launch timed out … processId [0]` and you get the error.

2. If BF3 is started any other way, its copy protection doesn't find the launch code and hands the launch back to the EA App, which forwards it to Steam using a `steam://run/…` link. The EA App doesn't escape the quotes in the join arguments, so Steam only receives `… -requestStateParams <data` and the server, soldier and login details are lost.

So it isn't your PC, and repairs and reinstalls don't help.

### The workaround (attached bf3-join-fix.txt)

A small PowerShell script does the step the EA App's helper should do. It watches the EA App's log, and when you click Join it takes that launch's launch code and starts the game with it and the full join arguments. It only reads the EA App's own log and starts EA's own `EASteamProxy.exe`. It doesn't modify any game, EA or Steam files, and it doesn't send anything anywhere.

**Setup:**

1. Download the attached script `bf3-join-fix.txt` (for example in your Battlefield 3 folder). Rename to 

bf3-join-fix.ps1

2. **Edit `$GameDir`** near the top if your game isn't in `D:\SteamLibrary\steamapps\common\Battlefield 3`.

3. Optional: make a desktop shortcut with this target:

`powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\path\to\bf3-join-fix.ps1"`

**Each time you play:**

1. Make sure the EA App is running (starting BF3 from Steam once does this).

2. Run the script and **leave its window open**.

3. Join a server from Battlelog as usual.

4. The game starts. The EA App will still pop up *"Could not start…"* after about 15 seconds. **Ignore it.** It's just the EA App's own broken attempt timing out.

The script window should print `launchCode=set` when it fires.

### If you can't move or use the mouse after Deploy

The EA overlay and the Steam overlay both get loaded into the game and fight over the same hooks (`igo32.dll` and `gameoverlayrenderer.dll`). Menus work, but keyboard and mouse stop responding after you spawn. Fix:

- **EA App → Settings → Application → In-game overlay: Off**

- If that's not enough: Steam → right-click Battlefield 3 → Properties → General → untick **"Enable the Steam Overlay while in-game"**

### Notes

- I've only tested this on my own PC (Windows 10, EA App 13.822, BF3 from Steam). Your mileage may vary.

- It's a workaround for an EA bug, not an official fix, and an EA App update could break it (or make it unnecessary).

### For EA

Two bugs, both visible in `EADesktopVerbose.log` / `EASteamLauncher.log`:

1. Battlelog (LocalHost) launches of Steam-owned BF3 send the proxied launch request (including `rtpCode`) to `EASteamLauncher`, but it has already shut down (`LocalHost web launch opened … deferring shutdown for 0s`), so the request always ends in `Proxied launch timed out`.

2. `redirectLaunchToSteam` builds `steam://run/1238820// <args>` from the raw game arguments without escaping the embedded quotes, so `-requestStateParams "<data …>"` is cut off at `<data`.

2 Replies

  • Big thanks for Your time and effort, works like a charm!! Let's hope EA eventually fixes their stuff..

  • Works for me, win11, thank you so much!!! Are you developer? :D
    Battlelog is full of errors, but game is working.
    P.S. If you want working Steam overlay - disable EA App overlay first.