Как выполнить автоматическую установку для любого установщика, использующего Wine?

870
kenorb

В winetricksсправке я вижу следующую опцию:

-q, --unattended Не задавайте никаких вопросов, просто установите автоматически

что позволяет автоматически устанавливать множество приложений и игр ( winetricks games list) без какого-либо взаимодействия с пользователем.

Как это сделать и как этого добиться для пользовательского бинарного файла (такого как этот )?

Связанный: Программное обеспечение, чтобы заставить установку / установку работать тихо

1

2 ответа на вопрос

3
o9000

Вся winetricksпрограмма - это всего лишь сценарий оболочки. Для каждой поддерживаемой программы она состоит из нескольких команд для загрузки установщика, его запуска, а затем нажатия кнопок на каждой странице мастера установки. Все это нужно программировать вручную.

Например, посмотрите, как установлен Python :

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 " 

Я не могу помочь дальше, так как я не знаком с функциями; но, следуя примерам, вы сможете это сделать.

0
kenorb

Также есть xdotoolвозможность очень легко подделать ввод с мыши и клавиатуры.

Например:

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 

Похожие вопросы