From 7eadf642b7944e889d6dd6ed35ad6e6355257067 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 21 Jun 2026 19:02:04 +0000 Subject: [PATCH] =?UTF-8?q?wolf:=20fix=20install-ea-app=20=E2=80=94=20corr?= =?UTF-8?q?ect=20installer=20path,=20clear=20fake=20InstallSuccessful?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two bugs in install-ea-app: 1. Installer search included compatdata (the Wine prefix), so it found the temp-extracted copy at drive_c/windows/temp/{UUID}/.cr/EAappInstaller.exe instead of the bundled copy at steamapps/common/…/__Installer/…/ Fixed: search only under steamapps/common. 2. Our fake InstallSuccessful=true (written by fix-ea-game to bypass the install-script loop) caused EAappInstaller to detect EA App as "already installed" and exit in ~15 seconds without doing anything. Fixed: delete the InstallSuccessful values via wine reg delete inside the container BEFORE launching the installer. The real EA App installer writes them back correctly after a successful install. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01D8ckUJQtj1pH8jtAddBDZs --- services/wolf.sh | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/services/wolf.sh b/services/wolf.sh index 076dc25..8553046 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -1907,12 +1907,14 @@ PYEOF echo " Open the Steam app in Moonlight, wait for Steam to load, then re-run." exit 1 fi - # Find EAappInstaller bundled with the game + # Find EAappInstaller bundled with the game (in steamapps/common, NOT in + # compatdata — ignore temp-extracted copies inside the Wine prefix). _ia_installer_host=$(sudo find \ - "$_ia_steam_home/.steam/steam/steamapps" -maxdepth 12 \ + "$_ia_steam_home/.steam/steam/steamapps/common" -maxdepth 12 \ -name "EAappInstaller.exe" -print -quit 2>/dev/null) if [ -z "$_ia_installer_host" ]; then - echo "EAappInstaller.exe not found. Make sure the game (AppID $_ia_appid) is installed." + echo "EAappInstaller.exe not found under steamapps/common." + echo "Make sure the game (AppID $_ia_appid) is fully downloaded/installed." exit 1 fi # Container mounts the session home at /home/retro — translate paths @@ -1941,7 +1943,23 @@ PYEOF echo " Click through it and log in to your EA account." echo " This may take 2-10 minutes." echo "" + # Remove the fake InstallSuccessful keys we added earlier with fix-ea-game. + # If those keys are present, EAappInstaller detects EA App is "already installed" + # and exits immediately without doing anything — this is why it exited in ~15s. + # The real EA App installer will re-create these keys correctly after install. + echo "Clearing fake InstallSuccessful registry markers (so the installer actually runs)..." + for _ia_key in \ + "HKLM\\\\Software\\\\Electronic Arts\\\\EA Desktop" \ + "HKLM\\\\Software\\\\Wow6432Node\\\\Electronic Arts\\\\EA Desktop"; do + docker exec -u 1000 \ + -e DISPLAY="$_ia_display" \ + -e WINEPREFIX="$_ia_wineprefix" \ + "$_ia_container" \ + "$_ia_wine" reg delete "$_ia_key" /v InstallSuccessful /f 2>/dev/null || true + done + sleep 1 # Launch the installer inside the container (background so we can poll) + echo "Launching EA App installer..." docker exec -u 1000 \ -e DISPLAY="$_ia_display" \ -e WINEPREFIX="$_ia_wineprefix" \