Skip to content

Instantly share code, notes, and snippets.

@kazimolmez
Last active April 14, 2026 01:37
Show Gist options
  • Select an option

  • Save kazimolmez/d305dbdff3a965a924ba76e50371a751 to your computer and use it in GitHub Desktop.

Select an option

Save kazimolmez/d305dbdff3a965a924ba76e50371a751 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
echo "======================================"
echo " Photoshop CS6 Wine Installer (STABLE)"
echo "======================================"
# -------------------------
# PARAM CONTROL
# -------------------------
if [ -z "$1" ] || [ -z "$2" ]; then
echo "Kullanım:"
echo "./ps-installer.sh /setup.exe prefix-name"
exit 1
fi
SETUP="$1"
PREFIX_NAME="$2"
PREFIX="$HOME/Games/$PREFIX_NAME"
DESKTOP_DIR=$(xdg-user-dir DESKTOP 2>/dev/null)
APP_DIR="$HOME/.local/share/applications"
mkdir -p "$APP_DIR"
# fallback desktop
if [ -z "$DESKTOP_DIR" ]; then
DESKTOP_DIR="$HOME/Desktop"
fi
mkdir -p "$DESKTOP_DIR"
# -------------------------
# VALIDATION
# -------------------------
if [ ! -f "$SETUP" ]; then
echo "HATA: setup.exe bulunamadı"
exit 1
fi
echo "[INFO] Prefix: $PREFIX"
# -------------------------
# CHECK EXISTING INSTALL
# -------------------------
EXE_PATH=""
if [ -d "$PREFIX" ]; then
EXE_PATH=$(find "$PREFIX/drive_c" -type f \( -iname "*photoshop*.exe" -o -iname "*ps*.exe" \) 2>/dev/null | head -n 1)
fi
echo "[DEBUG] EXE_PATH: $EXE_PATH"
# -------------------------
# IF ALREADY INSTALLED
# -------------------------
if [ -n "$EXE_PATH" ] && [ -f "$EXE_PATH" ]; then
echo "[INFO] Photoshop zaten kurulu, kurulum atlanıyor..."
cat > "$DESKTOP_DIR/${PREFIX_NAME}.desktop" <<EOF
[Desktop Entry]
Name=Adobe Photoshop CS6 ($PREFIX_NAME)
ExecOld=env WINEPREFIX="$PREFIX" wine "$EXE_PATH"
Exec=env WINEPREFIX="$PREFIX" wine-stable C:\\\\Program\\ Files\\\\Adobe\\\\AutoPlay\\\\Docs\\\\PhotoshopCS6.exe
Type=Application
StartupNotify=true
Path=/home/webmaster/Games/ps6/dosdevices/c:/Program Files/Adobe/AutoPlay/Docs/
Icon=80FF_ps.0
StartupWMClass=photoshopcs6.exe
EOF
chmod +x "$DESKTOP_DIR/${PREFIX_NAME}.desktop"
cp "$DESKTOP_DIR/${PREFIX_NAME}.desktop" "$APP_DIR/" || true
echo "[DONE] Sadece kısayol oluşturuldu"
exit 0
fi
# -------------------------
# CLEAN INSTALL
# -------------------------
echo "[1] Eski prefix siliniyor..."
rm -rf "$PREFIX"
# -------------------------
# FORCE 32-BIT PREFIX
# -------------------------
echo "[2] 32-bit prefix oluşturuluyor..."
WINEARCH=win32 WINEPREFIX="$PREFIX" wineboot -i
# -------------------------
# WINDOWS VERSION (INSTALLER MODE)
# -------------------------
echo "[3] Windows version = Win10"
WINEPREFIX="$PREFIX" wine reg add "HKCU\\Software\\Wine" /v Version /d win10 /f || true
# -------------------------
# WINETRICKS CORE
# -------------------------
echo "[4] Winetricks kuruluyor..."
WINEPREFIX="$PREFIX" winetricks -q \
corefonts \
vcrun2010 \
vcrun2012 \
vcrun2013 \
gdiplus \
atmlib \
msxml3 \
msxml6
# -------------------------
# MSI SAFE FIX
# -------------------------
echo "[5] MSI fix..."
WINEPREFIX="$PREFIX" wine msiexec /unregister || true
WINEPREFIX="$PREFIX" wine msiexec /regserver || true
WINEPREFIX="$PREFIX" wine reg add "HKCU\\Software\\Wine\\DllOverrides" /v msi /d native,builtin /f || true
WINEPREFIX="$PREFIX" wine reg add "HKCU\\Software\\Wine\\DllOverrides" /v msiexec /d native,builtin /f || true
# -------------------------
# INSTALLER RUN
# -------------------------
echo "[6] Kurulum başlatılıyor..."
if [[ "$SETUP" == *.msi ]]; then
WINEPREFIX="$PREFIX" wine msiexec /i "$SETUP"
else
WINEPREFIX="$PREFIX" wine "$SETUP"
fi
# -------------------------
# POST INSTALL STABILITY
# -------------------------
echo "[7] Windows version = Win7"
WINEPREFIX="$PREFIX" wine reg add "HKCU\\Software\\Wine" /v Version /d win7 /f || true
# -------------------------
# FIND EXECUTABLE
# -------------------------
echo "[8] Photoshop exe aranıyor..."
EXE_PATH=$(find "$PREFIX/drive_c" -type f \( -iname "*photoshop*.exe" -o -iname "*ps*.exe" \) 2>/dev/null | head -n 1)
echo "[DEBUG] Found EXE: $EXE_PATH"
# -------------------------
# SHORTCUT SAFE
# -------------------------
if [ -n "$EXE_PATH" ] && [ -f "$EXE_PATH" ]; then
cat > "$DESKTOP_DIR/${PREFIX_NAME}.desktop" <<EOF
[Desktop Entry]
Name=Adobe Photoshop CS6 ($PREFIX_NAME)
ExecOld=env WINEPREFIX="$PREFIX" wine "$EXE_PATH"
Exec=env WINEPREFIX="$PREFIX" wine-stable C:\\\\Program\\ Files\\\\Adobe\\\\AutoPlay\\\\Docs\\\\PhotoshopCS6.exe
Type=Application
StartupNotify=true
Path=/home/webmaster/Games/ps6/dosdevices/c:/Program Files/Adobe/AutoPlay/Docs/
Icon=80FF_ps.0
StartupWMClass=photoshopcs6.exe
EOF
chmod +x "$DESKTOP_DIR/${PREFIX_NAME}.desktop"
cp "$DESKTOP_DIR/${PREFIX_NAME}.desktop" "$APP_DIR/" || true
else
echo "[WARN] Photoshop exe bulunamadı, shortcut oluşturulmadı"
fi
# -------------------------
# LUTRIS PROFILE
# -------------------------
echo "[9] Lutris profile oluşturuluyor..."
cat > "$HOME/.config/lutris-games-${PREFIX_NAME}.yml" <<EOF
game:
exe: "$EXE_PATH"
prefix: "$PREFIX"
wine:
version: "system"
dxvk: true
esync: true
fsync: true
system:
env:
mesa_glthread: "true"
__GL_THREADED_OPTIMIZATIONS: "1"
EOF
# -------------------------
# DONE
# -------------------------
echo "======================================"
echo " KURULUM TAMAMLANDI"
echo "======================================"
echo "Prefix: $PREFIX"
if [ -n "$EXE_PATH" ]; then
echo "Çalıştır:"
echo "WINEPREFIX=$PREFIX wine \"$EXE_PATH\""
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment