WineBot includes support for popular Windows automation tools running inside the Wine environment.
| Tool | Command | Description |
|---|---|---|
| AutoIt v3 | autoit |
Powerful scripting language for Windows GUI automation. |
| AutoHotkey v1.1 | ahk |
Automation scripting language for Windows. |
| Python 3.13 | winpy |
Windows embedded Python. |
These tools are in the system PATH and can be called directly.
Run an AutoIt script (.au3):
autoit my_script.au3Run an AutoHotkey script (.ahk):
ahk my_script.ahkRun a Python script (.py) using the Windows Python environment:
winpy my_script.pyNote: This is separate from the container's native Linux Python (python3). Use winpy when you need Windows-specific modules.
Note on pip: To minimize build time and image size, pip is not pre-installed in the winpy environment. winpy is intended for lightweight diagnostics and tracers using ctypes and the standard library. If you require pip at runtime, you can install it using:
curl -sL -o /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py
winpy /tmp/get-pip.pyWine in this project currently runs as wine-10.0 (Debian 10.0~repack-6).
In this runtime, UI Automation support is incomplete for pywinauto's uia backend and not reliable enough for default project use.
Typical failures are during comtypes/UIA typelib initialization even when UIAutomationCore.dll is present.
Practical guidance:
- Keep automation fallback paths available (AHK/AutoIt/X11/CV) for controls that are not accessible via
win32. - Re-check pywinauto viability as Wine UIA support matures in newer Wine releases.
You can verify the tools are working by running the included smoke tests:
./tests/run_smoke_tests.shThe smoke test now validates:
- AutoIt + AHK scripting
- Windows Python (
winpy) - screenshot artifacts, including required
/tmp/smoke_test.png
If you start the container with DEBUG=1, entrypoint logs tool version/availability checks for:
autoitahkwinpy