Skip to content

Install on Windows

Windows does everything. The wheel, import, screens, OpsLink and Steam games all run here today.

There is no installer and no runtime to install first. It is a folder you copy.

  1. Download vPinOps-win-x64.zip from Releases.

  2. Unzip it at C:\.

    The zip contains a vPinOps folder, so you end up with C:\vPinOps\app\. Unzip it anywhere else and everything still works — the paths below just change to match.

  3. Double-click C:\vPinOps\app\vPinOps.exe.

    Nothing appears full-screen yet. What you get is a tray icon in the notification area, down by the clock. That icon is how you talk to vPinOps from now on — it is also the only way to quit it.

    It creates %USERPROFILE%\.vpinops\ on this first run: your config, your run log, and a generated OpsLink password.

  4. Say yes to the firewall.

    Windows asks whether to let vPinOps communicate on your networks. Allow it on private networks. This is what lets your phone reach it later, and it is the one step that quietly ruins the rest if you skip it.

  5. Open Settings from the tray icon and check the network.

    That window does one job: it makes OpsLink reachable. Port, password and Listen on — that is everything this window holds, deliberately, because those three are exactly what you cannot fix from a phone that cannot connect.

    Leave all three as they are unless something else already wants port 7833.

  6. Check your phone can reach it.

    The run log names the address every time it starts:

    remote: LISTENING on http://0.0.0.0:7833 (open http://192.168.4.58:7833)

    Open that in any browser on the same network. Sign in with the password in %USERPROFILE%\.vpinops\remote-password, then change it in Settings — it is generated to be typeable on a phone, not to be strong. More: connecting to OpsLink.

  7. In OpsLink, open Settings and point it at your stuff.

    Settings → Where your stuff lives. Press Fill these in for me and it fills in the suggested layout for you:

    • TablesC:\vPinOpsData\tables
    • VPX settingsC:\vPinOpsData\visualpinball
    • PinMAME and Your content as well

    Then set VPX yourself — point it at C:\vPinOpsData\visualpinball\app\VPinballX_BGFX64.exe using Browse…. The button deliberately leaves this one alone: vPinOps does not install Visual Pinball, so it will not write a path to a file it has not checked is there. It is also the one path you cannot skip — without it the page says Not ready to play.

    Change any of them — an existing library, a second drive — nothing refuses to work if you ignore the suggestion. Nothing is saved until you press Save settings, and folders under your content root are created for you when you do.

  8. Now put some tables in it.

    That works the same on every platform, so it lives in one place: Importing.

C:\vPinOps\app\ the program. Ours. Replaced wholesale when you update.
C:\vPinOpsData\ your content. Never touched by an update.
tables\ one folder per table
pinmame\ the shared ROM fallback
.inbox\ tables sent from another device land here
visualpinball\ Visual Pinball's own settings
visualpinball\app\ Visual Pinball itself
%USERPROFILE%\.vpinops\ your config, your run log, your OpsLink password

The split is ours versus yours, not programs versus data. Visual Pinball is yours, which is why it sits under the content root rather than beside our program.

If the program and your library shared one folder, an update would mean picking our files out of yours, and “uninstall it” would stop being “delete the folder”. Split, both problems go away.

The programC:\vPinOps\app\
Your contentC:\vPinOpsData\
Config%USERPROFILE%\.vpinops\config.json
Run log — read this first when anything is wrong%USERPROFILE%\.vpinops\last-run.log
OpsLink password%USERPROFILE%\.vpinops\remote-password
Uploads waiting to be importedC:\vPinOpsData\.inbox
Visual Pinball’s own settingswherever VPX settings points in Settings — by default C:\vPinOpsData\visualpinball\VPinballX.ini

Quit vPinOps from the tray, replace C:\vPinOps\app\ with the new one, start it again. Your content and your config are in the other two places and are not involved.

Quit it, delete C:\vPinOps. Your tables in C:\vPinOpsData are still yours — delete that too if you want them gone, and %USERPROFILE%\.vpinops for the settings.

Use the tray icon. vPinOps deliberately outlives its own windows, so closing a window does not quit it — and while it runs it still holds port 7833, which is what stops the next copy starting.

  • A one-click install. It is a folder you copy.