Merge pull request #115 from outis1one/claude/zealous-heisenberg-8ylloi

feat: auto-install msitools in both SWBF2 setup scripts
This commit is contained in:
Outis
2026-06-22 13:02:09 -04:00
committed by GitHub
3 changed files with 26 additions and 13 deletions
+2 -6
View File
@@ -19,13 +19,9 @@ wrapper to import the necessary registry entries on every launch.
## Prerequisites (both setups)
- SWBF2 (AppID 1237950) installed via Steam and fully downloaded
- GE-Proton10-34 — the setup scripts install this automatically if not present
- GE-Proton10-34 — installed automatically by the setup scripts if not present
- `msitools` — installed automatically by the setup scripts if not present
- An EA account created at ea.com and linked to your Steam account
- `msitools` installed on the host:
```bash
sudo apt-get install -y msitools # Debian / Ubuntu
sudo dnf install -y msitools # Fedora
```
### EA account requirement
+12 -4
View File
@@ -126,10 +126,18 @@ echo "[2/6] ea_app.msi ($(( MSI_SIZE / 1048576 )) MB): OK"
# ── Step 3: extract MSI on the host ────────────────────────────────────────
echo "[3/6] Extracting EA Desktop files from MSI (~30s)..."
if ! command -v msiextract >/dev/null 2>&1; then
echo "ERROR: msitools not installed."
echo " Debian/Ubuntu: sudo apt-get install -y msitools"
echo " Fedora: sudo dnf install -y msitools"
exit 1
echo "msitools not found — installing..."
if command -v apt-get >/dev/null 2>&1; then
sudo apt-get install -y msitools
elif command -v dnf >/dev/null 2>&1; then
sudo dnf install -y msitools
elif command -v pacman >/dev/null 2>&1; then
sudo pacman -S --noconfirm msitools
else
echo "ERROR: Cannot auto-install msitools — package manager not recognised."
echo "Install msitools manually and re-run."
exit 1
fi
fi
EXTRACT_DIR="/tmp/ea_app_extracted_$$"
rm -rf "$EXTRACT_DIR"
+12 -3
View File
@@ -139,9 +139,18 @@ echo "[2/6] ea_app.msi ($(( MSI_SIZE / 1048576 )) MB): OK"
# ── Step 3: extract MSI on the host ────────────────────────────────────────
echo "[3/6] Extracting EA Desktop files from MSI (~30s)..."
if ! command -v msiextract >/dev/null 2>&1; then
echo "ERROR: msitools not installed."
echo " sudo apt-get install -y msitools"
exit 1
echo "msitools not found — installing..."
if command -v apt-get >/dev/null 2>&1; then
sudo apt-get install -y msitools
elif command -v dnf >/dev/null 2>&1; then
sudo dnf install -y msitools
elif command -v pacman >/dev/null 2>&1; then
sudo pacman -S --noconfirm msitools
else
echo "ERROR: Cannot auto-install msitools — package manager not recognised."
echo "Install msitools manually and re-run."
exit 1
fi
fi
EXTRACT_DIR="/tmp/ea_app_extracted_$$"
rm -rf "$EXTRACT_DIR"