Wine を使用して任意のインストーラーで無人インストールを実行する方法は?

Wine を使用して任意のインストーラーで無人インストールを実行する方法は?

winetricksヘルプ次のオプションが表示されます。

-q--unattended 質問は一切せず、自動的にインストールします

winetricks games listこれにより、ユーザーの介入なしに多くのアプリやゲーム ( ) を自動的にインストールできるようになります。

これをどのように行うか、そしてカスタムバイナリ(例えばこれ1つ)?

関連している:インストーラー/セットアップを強制的にサイレント実行させるソフトウェア

答え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

関連情報