Reference recipe: WISO Steuer (portable)¶
Audience: recipe authors. End-user help lives in the GUI recipe info (info.de.txt / info.en.txt), not here.
Recipe ID: wiso-steuer · Runtime: Proton-GE · Launch: start.exe (not wiso2026.exe directly)
Why this is the reference¶
Full declarative install_steps in recipe.yml plus app module core/recipe-wiso-steuer.sh. Pattern for:
- Portable source → target (
prepare_source/ deploy) - Prefix, winetricks, vcrun, Wine-Mono
- App-specific modules (
recipe_wiso::…) - Desktop entry, validate/repair/kill
Template: recipes/_template/ · Spec: RECIPE-AUTHORING.md
Architecture (short)¶
recipe.yml → install_steps (contract)
install.sh → recipe_hooks::load install + recipe_install_steps::run
core/recipe-wiso-steuer.sh → module: steps (portable, Qt fix, desktop, …)
validate.sh / repair.sh / kill.sh / uninstall.sh → lifecycle
Guaranteed version: version_guaranteed in recipe.yml (currently 33.05.3220).
Design choices¶
| Topic | Choice |
|---|---|
| Launch | start.exe in portable root |
| Graphics | wined3d, not DXVK (Qt/WebEngine) |
| Fonts | corefonts + Tahoma/Calibri, Segoe → Calibri/Tahoma |
| Qt networking | rename qnetworklistmanager.dll (avoids Wine start crash) |
| Data | Prefix under ~/.local/share/wine-software/wiso-steuer/ — portable folder stays user-owned |
Author smoke¶
REZEPTOR_DEV=1 ./setup.sh
# source = portable folder, target e.g. ~/Documents/WISO Steuer 2026
bash recipes/wiso-steuer/validate.sh
bash recipes/wiso-steuer/launch.sh
./scripts/recipe-lint.sh
./scripts/recipe-manifest.sh
Known Wine/Qt pitfalls (recipe logic)¶
| Symptom | Recipe side |
|---|---|
| Mono/wineboot dialogs | recipe_hooks::hint_wine_popup |
| Crash after seconds | Qt network plugin + validate/repair |
| Header overlap when maximized | no Wine decorations, windowed ~1600×900 |
| Virtual-desktop leftovers | kill.sh cleans explorer.exe /desktop=wiso |
Logs: ~/.local/share/wine-software/logs/wiso-steuer_*
See also: ENTWICKLER.md · RECIPE-AUTHORING.md