在winetricks
帮助我可以看到以下选项:
-q
,--unattended
不询问任何问题,自动安装
这使得我能够自动安装许多应用程序和游戏(winetricks games list
),无需任何用户交互。
如何做到这一点,以及如何实现自定义二进制文件(例如这一)?
有关的:强制安装程序/设置静默运行的软件
答案1
整个winetricks
程序只是一个 shell 脚本。对于每个支持的程序,它都包含一些命令来下载安装程序、执行安装程序,然后单击安装向导的每个页面的按钮。所有这些都需要手动编程。
例如看看如何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
"
由于我不熟悉这些功能,我无法提供进一步的帮助;但按照示例,您应该能够做到。
答案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