All I wanted was to run a setup.exe on my phone. GameNative boots a Windows container on Android, so this should be double-click installer, pick exe, play.
I installed to C: twice before I saw it: the launcher only scans A:.
Once that clicks, the rest is bookkeeping. Here is the map, then the 5 steps.
TL;DR — the 5 steps Link to heading
- Add Custom Game → pick a folder. That folder becomes
A:. - Open container → boots
wfm.exefile manager. - Run
setup.exefromD:(Downloads) → install toA:\GameName. - Edit container → General → Executable Path → pick the exe.
- Play. If it installed to
C:, use Custom path… instead.
Needs v1.2.1+ for custom paths, v1.3.0+ for WMV codecs. Current is v1.4.0.
The drive map Link to heading
| Drive | What it is | In exe dropdown? |
|---|---|---|
A: | Your game folder, symlinked in | Yes — only this |
C: | Container’s own Wine prefix | No |
D: | Android Downloads | No |
E: | GameNative storage | No |
Z: | ImageFS root | No |
A: is a symlink, not a copy into the container. On modern Android, Add Custom Game first imports a copy into GameNative storage (SAF copy + verify, optional delete-source), then symlinks that. Check the real target in Edit container → Drives.
C: is per game. Two custom games get two separate C: drives.
1. Add the game first Link to heading
Add Custom Game → pick a folder.
Pick the folder you want the game to live in if you install to A:. Pick an empty folder if you plan to use C: — it just gives the container an A: drive.
First launch creates the container and prefix. It is slow once. Later boots are fast.
If the picker shows a copy progress dialog, let it finish. A 20 GB folder is a 20 GB copy.
2. Open the container Link to heading
Game menu → Open container.
This boots the same container with wfm.exe instead of the game. Browse drives, double-click the installer. That is all it does, and that is enough.
3. Run the installer Link to heading
Put setup.exe where the container sees it:
- Android Downloads → shows as
D:\— least friction - Game folder → shows as
A:\ - Or add a drive in Edit container → Drives
Run it from wfm.exe. Accept C:\Program Files (x86)\... or change it to A:\GameName.
My default is A:\GameName. The dropdown finds it. The working directory is correct. Removing a broken container does not delete the game.
C: works too. It just needs manual exe selection, and the game dies with the container.
Installers needing VC++ are covered — vcrun2005 through vcrun2022 are Win Components. .NET is not bundled. Install it inside the container if the game needs it.
DRM or launcher-based installers may fail. That is Wine, not your path.
4. Point GameNative at the exe Link to heading
Edit container → General → Executable Path.
- Game in
A:→ pick it from the dropdown. Recursive scan, ignoresunins*. One exe in folder = auto-selected. - Game in
C:→ Custom path… → paste exact path:
C:\Program Files (x86)\Whatever\game.exe
No file picker. No validation. Trimmed and saved as-is. Empty + no unique exe in A: = boots wfm.exe. That is the fallback, not a bug.
Spaces are fine. Launch is winhandler.exe "$executablePath" — quoted.
5. The working-directory trap Link to heading
Relative A: path → working dir = exe folder. Correct.
Absolute C:\... path → no working dir set. Launcher leaves it at default.
Games loading assets relative to CWD fail on C: even with the right exe. Fix: install under A:, use the relative path.
Reset vs Remove vs Uninstall Link to heading
Pick the wrong one and you lose an evening.
- Reset Container → resets settings to defaults, keeps drives. Deletes
executablePath. Does not wipedrive_c. - Remove container → deletes container root including
drive_c. Game folder inA:survives. This is the real wipe. - Uninstall game → removes game files + container.
Broken prefix? Use Remove container, not Reset.
Codecs in 3 steps Link to heading
Cutscenes go black = WMV9. Fix:
- Edit container → Win Components → Windows Media Decoder = Native (Windows). Default. Needs v1.3.0+. 32-bit = all four DLLs native. 64-bit = only
wmadmod/wmvdecodnative,wmvcore+wmasfstay builtin (DRM libs). - Still black → toggle DirectShow to Native, relaunch. Or try Decoder = Builtin. No reset needed, re-extracts automatically.
- Still black → install WMF 11 Runtime (
wmfdist11.exe) in container. Or LAV Filters portable ZIP —syswow64\regsvr32for 32-bit,system32\regsvr32for 64-bit. Last resort: transcode to H.264.
Skip K-Lite (admin checks, half-registers, breaks prefix).
Stuck? Settings → Debug → Save logcat. Or game menu → Diagnostic Run / Share diagnostics.
What fails Link to heading
| Symptom | Fix |
|---|---|
| Installer done, not in dropdown | Installed to C:. Use Custom path…. |
| Launch opens file manager | No exe selected or path typo. Re-paste. |
| Game can’t find data | C: path = no working dir. Reinstall to A:. |
| Black cutscenes | Win Components, step above. Check MediaInfo: WMV7/8 often hopeless. |
| Prefix feels broken | Remove container, not Reset. |
What I’d tell myself at the start Link to heading
Install under A: unless the installer refuses. Dropdown, working dir, and survival all line up.
Reset is settings. Remove is wipe. Learn it before you “reset” a broken prefix for an hour.
Custom path is a promise, not a picker. Paste exact path. Prefer relative A: path when you can.
The installer was never hard. The drive letters were the tutorial.
Further reading Link to heading
- GameNative on GitHub — custom games live in code, not docs
- GameNative releases — v1.2.1 adds custom path, v1.3.0 fixes codecs
- PR #1918 — custom executable path
- PR #2085 — 64-bit decoders / PR #2130 — CLSID fix
- Winlator File Manager — the
wfm.exebehind Open container