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

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

ВwinetricksпомощьЯ вижу следующий вариант:

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

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

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

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

решение1

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

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

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
    "

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

решение2

А также есть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

Связанный контент