Wie führt man eine unbeaufsichtigte Installation für jeden Installateur durch, der Wein verwendet?

951
kenorb

In der winetricksHilfe kann ich folgende Option sehen:

-q, --unattended Keine Fragen stellen, einfach installieren

Dadurch kann ich automatisch viele Apps und Spiele ( winetricks games list) ohne Benutzerinteraktion installieren .

Wie wird dies gemacht und wie wird dies für benutzerdefinierte Binärdateien (wie dieses ) erreicht?

Verwandte: Software, um das Installationsprogramm / die Installation zu zwingen, im Hintergrund zu laufen

1

2 Antworten auf die Frage

3
o9000

Das gesamte winetricksProgramm ist nur ein Shell-Skript. Für jedes unterstützte Programm bestehen einige Befehle, um das Installationsprogramm herunterzuladen, auszuführen und dann durch die Schaltflächen auf jeder Seite des Installationsassistenten zu klicken. All dies muss von Hand programmiert werden.

Sehen Sie sich beispielsweise an, wie Python installiert ist:

cd "$W_CACHE"/python26 w_try "$WINE" msiexec /i python-2.6.2.msi ALLUSERS=1 $W_UNATTENDED_SLASH_Q  w_ahk_do " SetTitleMatchMode, 2 run pywin32-214.win32-py2.6.exe WinWait, Setup, Wizard will install pywin32 if ( w_opt_unattended > 0 ) { ControlClick Button2 ; next WinWait, Setup, Python 2.6 is required ControlClick Button3 ; next WinWait, Setup, Click Next to begin ControlClick Button3 ; next WinWait, Setup, finished ControlClick Button4 ; Finish } WinWaitClose " 

Ich kann nicht weiter helfen, da ich die Funktionen nicht kenne; Aber nach den Beispielen sollten Sie es können.

0
kenorb

Es ist auch möglich, xdotooldie Eingabe von Maus und Tastatur sehr leicht zu fälschen.

Zum Beispiel:

wine setup.exe & # Wait until Wine initializes while : ; do echo "Waiting for Wine to initialize..." sleep 2 set +e # Fix for: https://github.com/jordansissel/xdotool/issues/60 WINDOW_ID=$(xdotool search --name "Setup*") set -e [[ -z $WINDOW_ID ]] || break done  # Set focus on installer window and act to install platform xdotool windowfocus $WINDOW_ID xdotool key space Tab Tab Tab Return Tab Tab Tab space Alt+n