Documentation now describes the .NET Framework 4.8 stack (was .NET 8): - README build prerequisites + framework-dependent/no-runtime-install note, test count 136 -> 241. - PLAN.md architecture diagram, stack decision (with PolySharp/shims note), suite total 136 -> 241. - deploy/README-DEPLOY.txt: app is net48 framework-dependent (4.8 is in-box on Win10/11), and build prerequisites. Also migrate the three tools (RioJoySmokeTest, RioSerialMonitor, XcfRegionExtract) to net48 so they keep building against the now-net48 RioJoy.Core (a net8 project cannot reference a net48 one). Added PolySharp + System.Memory/System.Text.Json shims and replaced net-core-only APIs (string.Contains/IndexOf with comparison, Array.Fill, generic Enum.IsDefined, int.TryParse(span)). All three build clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
69 lines
3.4 KiB
Plaintext
69 lines
3.4 KiB
Plaintext
RIOJoy — cockpit deployment package
|
|
====================================
|
|
|
|
This package deploys RIOJoy to a single directory (e.g. C:\games\RIOJOY) and runs
|
|
all local installation steps from postinstall.bat. It uses the signed ViGEmBus
|
|
virtual-controller driver, so there is NO test signing, NO Secure Boot change, and
|
|
NO reboot.
|
|
|
|
Contents
|
|
--------
|
|
postinstall.bat Entry point (at the root). Elevates, then runs
|
|
RIOJoy\install-rio.ps1.
|
|
RIOJoy\ The payload folder:
|
|
app\ The RIOJoy tray application (.NET Framework 4.8, framework-
|
|
dependent). .NET Framework 4.8 is in-box on Windows 10/11, so
|
|
no runtime install is required on the target machine.
|
|
vendor\ The signed ViGEmBus installer (Nefarius, WHQL/attestation-signed).
|
|
install-rio.ps1 The actual install steps (idempotent).
|
|
pre-uninstall.bat Cleanup entry point. Elevates, then runs uninstall-rio.ps1.
|
|
Run this before deleting the RIOJoy folder.
|
|
uninstall-rio.ps1 The actual cleanup steps (idempotent).
|
|
VERSION.txt Build stamp (date + git short SHA).
|
|
|
|
What postinstall.bat does
|
|
-------------------------
|
|
1. Elevates to administrator (UAC) if not already elevated.
|
|
2. Installs ViGEmBus silently if its driver service is not already present.
|
|
3. Registers RIOJoy to start at logon (HKLM ...\Run, machine-wide).
|
|
4. Launches RIOJoy.
|
|
|
|
Deploying with TeslaConsole
|
|
---------------------------
|
|
1. Extract this zip so that postinstall.bat and the RIOJoy\ folder sit together
|
|
(e.g. under C:\games\, giving C:\games\postinstall.bat and C:\games\RIOJoy\).
|
|
2. Run postinstall.bat ELEVATED (TeslaConsole should run it as administrator).
|
|
It is idempotent — re-running it is safe (e.g. for updates). The app and
|
|
ViGEmBus install from the RIOJoy\ folder; install-rio.ps1 locates itself, so
|
|
the RIOJoy\ folder can live wherever it is extracted.
|
|
|
|
Uninstalling with TeslaConsole
|
|
------------------------------
|
|
Before deleting the RIOJoy folder, run RIOJoy\pre-uninstall.bat ELEVATED. It
|
|
stops the tray app (releasing file locks), removes the logon entry, uninstalls
|
|
ViGEmBus, and clears per-user config (%APPDATA%\RIOJoy) for every profile. It is
|
|
idempotent and non-fatal — safe even if RIOJoy was never fully installed. The
|
|
console can then delete the folder cleanly. Use -KeepDriver to leave ViGEmBus in
|
|
place, or -KeepConfig to leave per-user config.
|
|
|
|
After install
|
|
-------------
|
|
* RIOJoy runs in the system tray. Right-click it to pick/edit profiles, set the
|
|
auto-switch executables, and toggle output to the PC.
|
|
* The RIO's joystick output appears to games as a standard "Xbox 360 Controller"
|
|
(verify in joy.cpl). Note the XInput layout limits joystick BUTTONS to 11
|
|
(A, B, X, Y, LB, RB, Back, Start, L3, R3, Guide); bind everything else to the
|
|
keyboard. The hat maps to the D-pad; axes map to the sticks and triggers.
|
|
* Per-machine config lives in %APPDATA%\RIOJoy\config.json for the running user.
|
|
|
|
Building this package (on a dev machine)
|
|
-----------------------------------------
|
|
Requires the .NET SDK (8.0+) with the .NET Framework 4.8 targeting/developer
|
|
pack, and the signed ViGEmBus installer.
|
|
|
|
powershell -ExecutionPolicy Bypass -File deploy\build-package.ps1 `
|
|
-VigemInstaller <path-to-ViGEmBus_x.y.z_x64_x86_arm64.exe>
|
|
|
|
(Or drop ViGEmBus_*.exe into deploy\vendor\ and omit -VigemInstaller.)
|
|
Output: dist\RIOJoy-<version>.zip
|